Closed Bug 1446453 (hg46) Opened 7 years ago Closed 7 years ago

[meta] Mercurial 4.6 upgrade and compatibility

Categories

(Developer Services :: General, task)

task
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: gps, Assigned: sheehan)

References

Details

(Keywords: meta)

Attachments

(23 files, 1 obsolete file)

46 bytes, text/x-phabricator-request
gps
: review+
Details | Review
46 bytes, text/x-phabricator-request
gps
: review+
Details | Review
46 bytes, text/x-phabricator-request
sheehan
: review+
Details | Review
46 bytes, text/x-phabricator-request
gps
: review+
Details | Review
46 bytes, text/x-phabricator-request
gps
: review+
Details | Review
46 bytes, text/x-phabricator-request
gps
: review+
Details | Review
46 bytes, text/x-phabricator-request
gps
: review+
Details | Review
46 bytes, text/x-phabricator-request
gps
: review+
Details | Review
46 bytes, text/x-phabricator-request
gps
: review+
Details | Review
46 bytes, text/x-phabricator-request
gps
: review+
Details | Review
46 bytes, text/x-phabricator-request
gps
: review+
Details | Review
46 bytes, text/x-phabricator-request
gps
: review+
Details | Review
46 bytes, text/x-phabricator-request
gps
: review+
Details | Review
46 bytes, text/x-phabricator-request
gps
: review+
Details | Review
46 bytes, text/x-phabricator-request
gps
: review+
Details | Review
46 bytes, text/x-phabricator-request
gps
: review+
Details | Review
46 bytes, text/x-phabricator-request
gps
: review+
Details | Review
46 bytes, text/x-phabricator-request
gps
: review+
Details | Review
46 bytes, text/x-phabricator-request
gps
: review+
Details | Review
46 bytes, text/x-phabricator-request
gps
: review+
Details | Review
46 bytes, text/x-phabricator-request
gps
: review+
Details | Review
46 bytes, text/x-phabricator-request
gps
: review+
Details | Review
46 bytes, text/x-phabricator-request
gps
: review+
Details | Review
Mercurial 4.6's release is still a way's off. But already a number of extensions have broken due to upstream changes. Time to get a tracking bug up.
Alias: hg46
Depends on: 1446455
Depends on: 1446457
Depends on: 1456213
There are 18 patches in the stack at https://phabricator.services.mozilla.com/D1099 to add 4.6 compatibility to various extensions. Far from a complete effort. But a reasonable start.
some more 4.6 issues: Traceback (most recent call last): File "/usr/local/lib/python2.7/site-packages/mercurial/extensions.py", line 215, in _runextsetup extsetup(ui) File "/Users/byron/.mozbuild/version-control-tools/hgext/qimportbz/__init__.py", line 212, in extsetup 'bz': bzhandler.Handler, File "/usr/local/lib/python2.7/site-packages/hgdemandimport/demandimportpy2.py", line 145, in __getattr__ self._load() File "/usr/local/lib/python2.7/site-packages/hgdemandimport/demandimportpy2.py", line 90, in _load mod = _hgextimport(_origimport, head, globals, locals, None, level) File "/usr/local/lib/python2.7/site-packages/hgdemandimport/demandimportpy2.py", line 41, in _hgextimport return importfunc(name, globals, *args, **kwargs) File "/Users/byron/.mozbuild/version-control-tools/hgext/qimportbz/bzhandler.py", line 10, in <module> from mercurial.util import Abort ImportError: cannot import name Abort Traceback (most recent call last): File "/usr/local/lib/python2.7/site-packages/mercurial/extensions.py", line 215, in _runextsetup extsetup(ui) File "/Users/byron/.mozbuild/version-control-tools/hgext/mozext/__init__.py", line 1393, in extsetup templater.funcs['dates'] = template_dates File "/usr/local/lib/python2.7/site-packages/hgdemandimport/demandimportpy2.py", line 146, in __getattr__ return getattr(self._module, attr) AttributeError: 'module' object has no attribute 'funcs'
Traceback (most recent call last): File "/usr/local/bin/hg", line 41, in <module> dispatch.run() File "/usr/local/lib/python2.7/site-packages/mercurial/dispatch.py", line 90, in run status = (dispatch(req) or 0) File "/usr/local/lib/python2.7/site-packages/mercurial/dispatch.py", line 210, in dispatch ret = _runcatch(req) File "/usr/local/lib/python2.7/site-packages/mercurial/dispatch.py", line 351, in _runcatch return _callcatch(ui, _runcatchfunc) File "/usr/local/lib/python2.7/site-packages/mercurial/dispatch.py", line 359, in _callcatch return scmutil.callcatch(ui, func) File "/usr/local/lib/python2.7/site-packages/mercurial/scmutil.py", line 160, in callcatch return func() File "/usr/local/lib/python2.7/site-packages/mercurial/dispatch.py", line 341, in _runcatchfunc return _dispatch(req) File "/usr/local/lib/python2.7/site-packages/mercurial/dispatch.py", line 971, in _dispatch cmdpats, cmdoptions) File "/usr/local/lib/python2.7/site-packages/mercurial/dispatch.py", line 727, in runcommand ret = _runcommand(ui, options, cmd, d) File "/usr/local/lib/python2.7/site-packages/mercurial/dispatch.py", line 979, in _runcommand return cmdfunc() File "/usr/local/lib/python2.7/site-packages/mercurial/dispatch.py", line 968, in <lambda> d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) File "/usr/local/lib/python2.7/site-packages/mercurial/util.py", line 1553, in check return func(*args, **kwargs) File "/usr/local/lib/python2.7/site-packages/mercurial/util.py", line 1553, in check return func(*args, **kwargs) File "/Users/byron/.mozbuild/version-control-tools/hgext/firefoxtree/__init__.py", line 516, in pullcommand return orig(ui, repo, source=source, **opts) File "/usr/local/lib/python2.7/site-packages/mercurial/util.py", line 1553, in check return func(*args, **kwargs) File "/usr/local/lib/python2.7/site-packages/mercurial/util.py", line 1553, in check return func(*args, **kwargs) File "/usr/local/lib/python2.7/site-packages/hgext/mq.py", line 3599, in mqcommand return orig(ui, repo, *args, **kwargs) File "/usr/local/lib/python2.7/site-packages/mercurial/util.py", line 1553, in check return func(*args, **kwargs) File "/usr/local/lib/python2.7/site-packages/mercurial/util.py", line 1553, in check return func(*args, **kwargs) File "/usr/local/lib/python2.7/site-packages/hgext3rd/evolve/__init__.py", line 793, in warnobserrors return orig(ui, repo, *args, **kwargs) File "/usr/local/lib/python2.7/site-packages/mercurial/util.py", line 1553, in check return func(*args, **kwargs) File "/usr/local/lib/python2.7/site-packages/mercurial/util.py", line 1553, in check return func(*args, **kwargs) File "/usr/local/lib/python2.7/site-packages/hgext3rd/evolve/__init__.py", line 769, in wrapmayobsoletewc res = origfn(ui, repo, *args, **opts) File "/usr/local/lib/python2.7/site-packages/mercurial/util.py", line 1553, in check return func(*args, **kwargs) File "/usr/local/lib/python2.7/site-packages/mercurial/util.py", line 1553, in check return func(*args, **kwargs) File "/usr/local/lib/python2.7/site-packages/hgext/rebase.py", line 1766, in pullrebase ret = orig(ui, repo, *args, **opts) File "/usr/local/lib/python2.7/site-packages/mercurial/util.py", line 1553, in check return func(*args, **kwargs) File "/usr/local/lib/python2.7/site-packages/mercurial/commands.py", line 4060, in pull opargs=pullopargs).cgresult File "/Users/byron/.mozbuild/version-control-tools/hgext/mozext/__init__.py", line 824, in pull res = orig(repo, remote, *args, **kwargs) File "/usr/local/lib/python2.7/site-packages/hggit/util.py", line 56, in inner return f(*args, **kwargs) File "/usr/local/lib/python2.7/site-packages/hggit/__init__.py", line 368, in exchangepull return orig(repo, remote, heads, force, bookmarks=bookmarks, **kwargs) File "/usr/local/lib/python2.7/site-packages/mercurial/exchange.py", line 1493, in pull _pullobsolete(pullop) File "/Users/byron/.mozbuild/version-control-tools/hgext/mozext/__init__.py", line 434, in exchangepullpushlog if isinstance(pullop.remote, sshpeer.sshpeer): AttributeError: 'module' object has no attribute 'sshpeer'
Depends on: 1459924
Depends on: 1461160
Depends on: 1463195
Depends on: 1464838
Depends on: 1469647
Blocks: 1464838
No longer depends on: 1464838
Depends on: 1469673
Tests are passing with no other changes, so mark as compatible. It appears this extension was written with 4.6 compatibility in mind (there were already a few "TRACKING hg46" comments inline).
Depends on: 1470489
Comment on attachment 8987114 [details] replicateowner: mark as compatible with Mercurial 4.6 (Bug 1446453) r?gps Gregory Szorc [:gps] has approved the revision. https://phabricator.services.mozilla.com/D1770
Attachment #8987114 - Flags: review+
Pushed by gszorc@mozilla.com: https://hg.mozilla.org/hgcustom/version-control-tools/rev/9133118bda57 replicateowner: mark as compatible with Mercurial 4.6 r=gps
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Status: RESOLVED → REOPENED
Keywords: leave-open
Resolution: FIXED → ---
The only breaking change here is the wireproto module renaming. So we add an `import_module` call and mark as testedwith 4.6 everywhere.
Comment on attachment 8992350 [details] vcsreplicator: make extensions compatible with Mercurial 4.6 (Bug 1446453) r?gps Gregory Szorc [:gps] has approved the revision. https://phabricator.services.mozilla.com/D2155
Attachment #8992350 - Flags: review+
Pushed by gszorc@mozilla.com: https://hg.mozilla.org/hgcustom/version-control-tools/rev/afa157e32d6d vcsreplicator: make extensions compatible with Mercurial 4.6 r=gps
The wire protocol code changed substantially in 4.6. This required a number of conditional checks throughout the extension. It's worth noting that we now record the response size for all HTTP requests. This is because prior to 4.6, some HTTP handlers were using the legacy request.write() API to send response bytes. This extension isn't monitoring this API. Post 4.6, all I/O is performed via a generator, which is monitored.
Comment on attachment 8993085 [details] serverlog: port to Mercurial 4.6; r?sheehan Connor Sheehan [:sheehan] has approved the revision. https://phabricator.services.mozilla.com/D2207
Attachment #8993085 - Flags: review+
I overlooked running these new tests against 4.6.2 in bug 1470476.
The only breaking change here was moving `parsemeta` from the `filelog` module to the `revlog` module.
No changes needed here, but I ran the tests against all the modern Mercurial versions and they pass every time. Updating the `testedwith` string accordingly.
Comment on attachment 8993466 [details] overlay: enable compatibility with Mercurial 4.6 (Bug 1446453) r?gps Gregory Szorc [:gps] has approved the revision. https://phabricator.services.mozilla.com/D2248
Attachment #8993466 - Flags: review+
Pushed by gszorc@mozilla.com: https://hg.mozilla.org/hgcustom/version-control-tools/rev/675fda2d88bf overlay: enable compatibility with Mercurial 4.6 r=gps
Comment on attachment 8993469 [details] manualoverlay: mark as tested with modern Mercurials (Bug 1446453) r?gps Gregory Szorc [:gps] has approved the revision. https://phabricator.services.mozilla.com/D2249
Attachment #8993469 - Flags: review+
Pushed by gszorc@mozilla.com: https://hg.mozilla.org/hgcustom/version-control-tools/rev/3f15bc650cd1 manualoverlay: mark as tested with modern Mercurials r=gps
Attachment #8993443 - Attachment is obsolete: true
Depends on: 1477519
No changes needed to get tests passing. Mark as tested under 4.5 and 4.6.
No changes needed for the test to pass. Marking as testedwith all new Mercurial versions.
Pushed by gszorc@mozilla.com: https://hg.mozilla.org/hgcustom/version-control-tools/rev/95f5da465794 qbackout: mark as compatible with Mercurials 4.3-4.6 r=gps
Pushed by gszorc@mozilla.com: https://hg.mozilla.org/hgcustom/version-control-tools/rev/81af8dbbbe84 push-to-try: mark as compatible with Mercurial 4.5/4.6 r=gps
Comment on attachment 8994273 [details] qbackout: mark as compatible with Mercurials 4.3-4.6 (Bug 1446453) r?gps Gregory Szorc [:gps] has approved the revision. https://phabricator.services.mozilla.com/D2301
Attachment #8994273 - Flags: review+
Comment on attachment 8994272 [details] push-to-try: mark as compatible with Mercurial 4.5/4.6 (Bug 1446453) r?gps Gregory Szorc [:gps] has approved the revision. https://phabricator.services.mozilla.com/D2300
Attachment #8994272 - Flags: review+
Since we are moving off of a patched Mercurial 4.5.3 and onto the 4.6.2 release, there is no reason to keep this virtualenv around.
Comment on attachment 8996119 [details] vcsreplicator: update test-served-heads.t to with Mercurial 4.6 test output (Bug 1446453) r?gps Gregory Szorc [:gps] has approved the revision. https://phabricator.services.mozilla.com/D2530
Attachment #8996119 - Flags: review+
Pushed by gszorc@mozilla.com: https://hg.mozilla.org/hgcustom/version-control-tools/rev/935ff848afce vcsreplicator: update test-served-heads.t to with Mercurial 4.6 test output r=gps
Comment on attachment 8996120 [details] testing: upgrade Mercurial to 4.6.2 in hgdev test environment (Bug 1446453) r?gps Gregory Szorc [:gps] has approved the revision. https://phabricator.services.mozilla.com/D2531
Attachment #8996120 - Flags: review+
Comment on attachment 8996121 [details] testing: upgrade Mercurial to 4.6.2 in hgweb chroot builder virtualenv (Bug 1446453) r?gps Gregory Szorc [:gps] has approved the revision. https://phabricator.services.mozilla.com/D2532
Attachment #8996121 - Flags: review+
Comment on attachment 8996122 [details] testing: upgrade Mercurial to 4.6.2 in docker-hgweb mozbuild virtualenv (Bug 1446453) r?gps Gregory Szorc [:gps] has approved the revision. https://phabricator.services.mozilla.com/D2533
Attachment #8996122 - Flags: review+
Comment on attachment 8996123 [details] ansible: upgrade Mercurial to 4.6.2 in deployment virtualenv (Bug 1446453) r?gps Gregory Szorc [:gps] has approved the revision. https://phabricator.services.mozilla.com/D2534
Attachment #8996123 - Flags: review+
Comment on attachment 8996124 [details] ansible: update Mercurial to 4.6.2 in replication virtualenv (Bug 1446453) r?gps Gregory Szorc [:gps] has approved the revision. https://phabricator.services.mozilla.com/D2535
Attachment #8996124 - Flags: review+
Comment on attachment 8996125 [details] ansible: upgrade Mercurial to 4.6.2 in hgweb tools virtualenv (Bug 1446453) r?gps Gregory Szorc [:gps] has approved the revision. https://phabricator.services.mozilla.com/D2536
Attachment #8996125 - Flags: review+
Comment on attachment 8996126 [details] ansible: upgrade Mercurial to 4.6.2 on hgweb (Bug 1446453) r?gps Gregory Szorc [:gps] has approved the revision. https://phabricator.services.mozilla.com/D2537
Attachment #8996126 - Flags: review+
Comment on attachment 8996127 [details] ansible: upgrade Mercurial to 4.6.2. in pash virtualenv (Bug 1446453) r?gps Gregory Szorc [:gps] has approved the revision. https://phabricator.services.mozilla.com/D2538
Attachment #8996127 - Flags: review+
Comment on attachment 8996129 [details] ansible: remove pre-release Mercurial requirements file and Ansible task (Bug 1446453) r?gps Gregory Szorc [:gps] has approved the revision. https://phabricator.services.mozilla.com/D2540
Attachment #8996129 - Flags: review+
Pushed by gszorc@mozilla.com: https://hg.mozilla.org/hgcustom/version-control-tools/rev/bac9170e5c7e ansible: remove pre-release Mercurial requirements file and Ansible task r=gps
Comment on attachment 8996128 [details] ansible: upgrade Mercurial to 4.6.2 in hgssh tools virtualenv (Bug 1446453) r?gps Gregory Szorc [:gps] has approved the revision. https://phabricator.services.mozilla.com/D2539
Attachment #8996128 - Flags: review+
Pushed by gszorc@mozilla.com: https://hg.mozilla.org/hgcustom/version-control-tools/rev/39d61310353d vcssync: upgrade Mercurial to 4.6.2 in vcssync virtualenv r?gps
Comment on attachment 8996130 [details] vcssync: upgrade Mercurial to 4.6.2 in vcssync virtualenv (Bug 1446453) r?gps Gregory Szorc [:gps] has approved the revision. https://phabricator.services.mozilla.com/D2541
Attachment #8996130 - Flags: review+
Pushed by gszorc@mozilla.com: https://hg.mozilla.org/hgcustom/version-control-tools/rev/abb138458501 testing: upgrade Mercurial to 4.6.2 in hgdev test environment r=gps
Pushed by gszorc@mozilla.com: https://hg.mozilla.org/hgcustom/version-control-tools/rev/661a49bd5af5 testing: upgrade Mercurial to 4.6.2 in hgweb chroot builder virtualenv r=gps
Pushed by gszorc@mozilla.com: https://hg.mozilla.org/hgcustom/version-control-tools/rev/c22ad816c093 testing: upgrade Mercurial to 4.6.2 in docker-hgweb mozbuild virtualenv r=gps
Pushed by gszorc@mozilla.com: https://hg.mozilla.org/hgcustom/version-control-tools/rev/241404052377 ansible: upgrade Mercurial to 4.6.2 in deployment virtualenv r=gps
Pushed by gszorc@mozilla.com: https://hg.mozilla.org/hgcustom/version-control-tools/rev/83c3098574a2 ansible: upgrade Mercurial to 4.6.2. in pash virtualenv r=gps https://hg.mozilla.org/hgcustom/version-control-tools/rev/92f318ef1e1d ansible: upgrade Mercurial to 4.6.2 in hgssh tools virtualenv r=gps
Pushed by gszorc@mozilla.com: https://hg.mozilla.org/hgcustom/version-control-tools/rev/031820683403 ansible: update Mercurial to 4.6.2 in replication virtualenv r=gps
Pushed by gszorc@mozilla.com: https://hg.mozilla.org/hgcustom/version-control-tools/rev/52972f4f135f ansible: upgrade Mercurial to 4.6.2 in hgweb tools virtualenv r=gps
This commit contains the patch series generated by `hgtemplates/.patches/mozify-templates.py` squashed into a single commit. Also included are updates to the vendored `gitweb` theme from upstream Mercurial 4.6.2, and a fix to `test-template-sync.t` to reflect the new output when applying the patches.
Comment on attachment 8996156 [details] hgtemplates: upgrade templates for Mercurial 4.6.2 (Bug 1446453) r?gps Gregory Szorc [:gps] has approved the revision. https://phabricator.services.mozilla.com/D2545
Attachment #8996156 - Flags: review+
Pushed by gszorc@mozilla.com: https://hg.mozilla.org/hgcustom/version-control-tools/rev/ac47e33ad4c2 ansible: upgrade Mercurial to 4.6.2 on hgweb r=gps
Pushed by gszorc@mozilla.com: https://hg.mozilla.org/hgcustom/version-control-tools/rev/958dc5e4168c hgtemplates: upgrade templates for Mercurial 4.6.2 r=gps
All of the servers behind hg.mozilla.org are now running Mercurial 4.6 (with the exception of reviewboard which was ignored since it is reaching its EOL). It looks like everything with the upgrade went smoothly. Closing this bug as resolved, we can re-open in the case something is broken or something was overlooked.
Assignee: nobody → sheehan
Status: REOPENED → RESOLVED
Closed: 7 years ago7 years ago
Resolution: --- → FIXED
Depends on: 1480034
Keywords: leave-open
We still need to update the clients in CI. Re-opening.
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
This commit points the `install_mercurial.sh` script at the newest Mercurial distributions uploaded to tooltool.
Comment on attachment 8996838 [details] Bug 1446453: install Mercurial 4.7 in Non-Debian Linux Docker images r?gps Gregory Szorc [:gps] has approved the revision. https://phabricator.services.mozilla.com/D2626
Attachment #8996838 - Flags: review+
Attachment #8996830 - Attachment description: Bug 1446453: upgrade Mercurial clients to 4.6.2 in Debian based Docker images r?gps → Bug 1446453: upgrade Mercurial clients to 4.7 in Debian based Docker images r?gps
Comment on attachment 8996830 [details] Bug 1446453: upgrade Mercurial clients to 4.7 in Debian based Docker images r?gps Gregory Szorc [:gps] has approved the revision. https://phabricator.services.mozilla.com/D2623
Attachment #8996830 - Flags: review+
Blocks: hg47
Since Mercurial 4.7 is out, we're going to upgrade the clients directly to the newer version. Closing this bug.
Status: REOPENED → RESOLVED
Closed: 7 years ago7 years ago
Keywords: leave-open
Resolution: --- → FIXED
Comment on attachment 8996830 [details] Bug 1446453: upgrade Mercurial clients to 4.7 in Debian based Docker images r?gps Gregory Szorc [:gps] has requested changes to the revision. https://phabricator.services.mozilla.com/D2623
Attachment #8996830 - Flags: review+
Comment on attachment 8996830 [details] Bug 1446453: upgrade Mercurial clients to 4.7 in Debian based Docker images r?gps Gregory Szorc [:gps] has approved the revision. https://phabricator.services.mozilla.com/D2623
Attachment #8996830 - Flags: review+
Pushed by gszorc@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/cff1fa17db28 upgrade Mercurial clients to 4.7 in Debian based Docker images; r=gps https://hg.mozilla.org/integration/autoland/rev/3f6acd9e4954 install Mercurial 4.7 in Non-Debian Linux Docker images; r=gps
We forgot to do this during the 4.6 upgrade and some output about incompatible Mercurial versions is present in the bootstrap output logs.
Comment on attachment 8998348 [details] serverlog: mark as compatible with Mercurial 4.6 (Bug 1446453) r?gps Gregory Szorc [:gps] has approved the revision. https://phabricator.services.mozilla.com/D2890
Attachment #8998348 - Flags: review+
Pushed by gszorc@mozilla.com: https://hg.mozilla.org/hgcustom/version-control-tools/rev/ea003aefc061 serverlog: mark as compatible with Mercurial 4.6 r=gps
Depends on: 1484181
No longer depends on: 1484181
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: