Closed
Bug 1117857
Opened 9 years ago
Closed 8 years ago
Deploy the pushrebase extension to hg.m.o once the feature stabilizes
Categories
(Developer Services :: Mercurial: hg.mozilla.org, defect)
Tracking
(Not tracked)
RESOLVED
FIXED
People
(Reporter: KWierso, Assigned: gps)
References
()
Details
Attachments
(5 files)
40 bytes,
text/x-review-board-request
|
smacleod
:
review+
|
Details |
40 bytes,
text/x-review-board-request
|
smacleod
:
review+
|
Details |
40 bytes,
text/x-review-board-request
|
smacleod
:
review+
|
Details |
40 bytes,
text/x-review-board-request
|
smacleod
:
review+
|
Details |
40 bytes,
text/x-review-board-request
|
smacleod
:
review+
|
Details |
[20:35] KWierso what'd be the suggested way to do the equivalent of queueing up several people's patches and easily rebasing them onto tip if I lose a push race with someone? I think that's the only thing left that I'd be wanting mq for ( qpop all of my stuff, hg pull -u to pull in newly pushed stuff, qpush my stuff back on, hg push to push my stuff) [20:36] gps hg pull inbound [20:36] gps hg rebase -d inbound [20:36] gps (assuming working copy is the head you are attempting to push) [20:37] gps fwiw, facebook wrote a mercurial extension that automatically performs a rebase on the server during push [20:37] gps if the push rebases cleanly (without merges), it just does it [20:37] KWierso facebook++ [20:37] gps they did this because lots of people were hitting push races [20:37] gps we can deploy that once the mercurial feature stabilizes [20:38] gps facebook controls all their mercurial clients, so they can deploy experimental, api unstable versions and not have to deal with a mismatch of client versions [20:38] gps we don't have that luxury
Assignee | ||
Comment 1•9 years ago
|
||
Thanks for reading my mind :) First, obligatory note that in a post-autoland world, this extension is less useful. But we should still deploy it :) Deploying this extension is blocked on enabling bundle2 in production. We can't enable bundle2 now because it isn't guaranteed to be backwards compatible. Facebook gets away with it because they control the Mercurial client installs and can perform company-wide upgrades rather atomically, mitigating backwards compatibility concerns. I fully intend on enabling bundle2 once it is stable. But once it is stable, it will likely be enabled by default :)
Assignee | ||
Comment 2•9 years ago
|
||
With the deployment of Mercurial 3.4.1 to hg.mozilla.org a few days ago, bundle2 now works in production and this extension is deployable. However, until Mercurial 3.5 where Mercurial will enable bundle2 on clients, clients will need to enable bundle2 via hgrc to leverage this feature. I'll audit the source code to pushrebase and see about deploying this.
Assignee | ||
Comment 3•9 years ago
|
||
I just looked at the source code for pushrebase and it looks safe and easy to deploy to hg.mozilla.org. Although, the UX is a bit kludgy: you must use `hg push --onto <revset>` to opt in to auto rebase mode. This is something we could enable silently when pushing to a known Firefox repo via the firefoxtree extension, however. Let me hack up some patches real quick.
Assignee: nobody → gps
Status: NEW → ASSIGNED
Assignee | ||
Comment 4•9 years ago
|
||
pushrebase: add extension (bug 1117857) Code imported unchanged from revision 923076c8f37a561a5ef4eff12fea0097339d71a7 of https://bitbucket.org/facebook/hg-experimental/.
Attachment #8621747 -
Flags: review?(smacleod)
Assignee | ||
Comment 5•9 years ago
|
||
pushrebase: add README (bug 1117857) We want to let people know that some of the code comes from upstream.
Attachment #8621748 -
Flags: review?(smacleod)
Assignee | ||
Comment 6•9 years ago
|
||
pushrebase: mark compatibility with 3.4 (bug 1117857) Our test harness requires extension compatibility to be explicitly declared. It isn't defined upstream, so define it locally.
Attachment #8621749 -
Flags: review?(smacleod)
Assignee | ||
Comment 7•9 years ago
|
||
pushrebase: add smoke test (bug 1117857) We want pushrebase to have at least some automated testing in our local environment so we have some guarantee that it is working.
Attachment #8621750 -
Flags: review?(smacleod)
Assignee | ||
Comment 8•9 years ago
|
||
ansible/hg-ssh: activate pushrebase extension (bug 1117857) The extension requires no server-side configuration. Just install it and it becomes available. Only clients using the extension will be impacted by its presence.
Attachment #8621751 -
Flags: review?(smacleod)
Assignee | ||
Comment 9•9 years ago
|
||
https://reviewboard.mozilla.org/r/11041/#review9637 I'm still working on the integration with the firefoxtree extension so pushrebase is enabled automatically. But at least this will unblock clients from enabling it manually.
Comment 10•9 years ago
|
||
Comment on attachment 8621747 [details] MozReview Request: pushrebase: add extension (bug 1117857) https://reviewboard.mozilla.org/r/11043/#review9859 Ship It!
Attachment #8621747 -
Flags: review?(smacleod) → review+
Comment 11•9 years ago
|
||
Comment on attachment 8621748 [details] MozReview Request: pushrebase: add README (bug 1117857) https://reviewboard.mozilla.org/r/11045/#review9861 Ship It!
Attachment #8621748 -
Flags: review?(smacleod) → review+
Comment 12•9 years ago
|
||
Comment on attachment 8621749 [details] MozReview Request: pushrebase: mark compatibility with 3.4 (bug 1117857) https://reviewboard.mozilla.org/r/11047/#review9863 ::: hgext/pushrebase/__init__.py:23 (Diff revision 1) > +testedwith = '3.4' Maybe document this change in the readme so we don't forget to do it when pulling in new versions? or even include the diff?
Attachment #8621749 -
Flags: review?(smacleod) → review+
Comment 13•9 years ago
|
||
Comment on attachment 8621750 [details] MozReview Request: pushrebase: add smoke test (bug 1117857) https://reviewboard.mozilla.org/r/11049/#review9865 Ship It!
Attachment #8621750 -
Flags: review?(smacleod) → review+
Comment 14•9 years ago
|
||
Comment on attachment 8621751 [details] MozReview Request: ansible/hg-ssh: activate pushrebase extension (bug 1117857) https://reviewboard.mozilla.org/r/11051/#review9867 Ship It!
Attachment #8621751 -
Flags: review?(smacleod) → review+
Assignee | ||
Comment 15•9 years ago
|
||
https://reviewboard.mozilla.org/r/11047/#review9877 > Maybe document this change in the readme so we don't forget to do it when pulling in new versions? or even include the diff? I'm submitting this patch upstream at https://bitbucket.org/facebook/hg-experimental/pull-request/1/pushrebase-fixups. So this shouldn't be a problem. I have no intention at this time of running code that diverges from upstream.
Assignee | ||
Comment 16•9 years ago
|
||
https://hg.mozilla.org/hgcustom/version-control-tools/rev/3033ad4d0a19 https://hg.mozilla.org/hgcustom/version-control-tools/rev/9ffb886c84a3 https://hg.mozilla.org/hgcustom/version-control-tools/rev/269b27fdf656 https://hg.mozilla.org/hgcustom/version-control-tools/rev/205aa5ca2918 https://hg.mozilla.org/hgcustom/version-control-tools/rev/200339bf3655
Assignee | ||
Comment 17•9 years ago
|
||
Deployed. We need clients to activate the extension and use `hg push --onto <dest>` for this to add any meaningful value. I'll file a follow-up to track that work.
Assignee | ||
Comment 18•8 years ago
|
||
Not sure why this is still open.
Status: ASSIGNED → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•