Fri, 04 Dec 2020 12:42:23 +0100 wireprotov2: re-add tuple around `bundle2` check
Raphaël Gomès <rgomes@octobus.net> [Fri, 04 Dec 2020 12:42:23 +0100] rev 46053
wireprotov2: re-add tuple around `bundle2` check I stumbled upon this while looking for the current (v1) `capable` method. It looks like 9c2c77c73f23 accidentally removed the comma, turning the tuple into a simple parenthesis expression. This has not been detected since wireproto2 is not in use AFAIK. Differential Revision: https://phab.mercurial-scm.org/D9518
Tue, 01 Dec 2020 20:35:19 +0100 upgrade: gather code about requirement checking together
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 01 Dec 2020 20:35:19 +0100] rev 46052
upgrade: gather code about requirement checking together They just moved in the same file, now they are grouped together and documented. Differential Revision: https://phab.mercurial-scm.org/D9486
Tue, 01 Dec 2020 20:24:38 +0100 upgrade: extract the checking of target requirements change
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 01 Dec 2020 20:24:38 +0100] rev 46051
upgrade: extract the checking of target requirements change This logic is fairly independant, lets move it out of the main function. Differential Revision: https://phab.mercurial-scm.org/D9485
Tue, 01 Dec 2020 15:50:12 +0100 upgrade: drop an outdated comment
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 01 Dec 2020 15:50:12 +0100] rev 46050
upgrade: drop an outdated comment We can control the added/removed requirement through config for multiple years. Differential Revision: https://phab.mercurial-scm.org/D9484
Tue, 01 Dec 2020 15:54:38 +0100 upgrade: gather code about source checking together
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 01 Dec 2020 15:54:38 +0100] rev 46049
upgrade: gather code about source checking together They just moved in the same file, now they are grouped together and documented. Differential Revision: https://phab.mercurial-scm.org/D9483
Tue, 01 Dec 2020 15:45:23 +0100 upgrade: move requirements checking in a dedicated function
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 01 Dec 2020 15:45:23 +0100] rev 46048
upgrade: move requirements checking in a dedicated function This is a simple an isolated check that can go next to the associated code. Differential Revision: https://phab.mercurial-scm.org/D9482
Tue, 01 Dec 2020 15:11:06 +0100 upgrade: split definition and management of the actions from the main code
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 01 Dec 2020 15:11:06 +0100] rev 46047
upgrade: split definition and management of the actions from the main code This is a second step to clarify and clean up this code. The code responsible for definition which action exist, are possible and their compatibility if moved into a sub module. This clarify the main code and prepare further cleanup. Differential Revision: https://phab.mercurial-scm.org/D9477
Tue, 01 Dec 2020 09:13:08 +0100 upgrade: split actual upgrade code away from the main module
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 01 Dec 2020 09:13:08 +0100] rev 46046
upgrade: split actual upgrade code away from the main module The main module is getting big and hard to follow. So we are splitting all the logic to actually run an upgrade in a sub module. It nicely highlight that there are very few actual call point to the code we just moved. Differential Revision: https://phab.mercurial-scm.org/D9476
Sat, 05 Dec 2020 23:11:49 +0100 phab-refresh: add an explanatory message
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 05 Dec 2020 23:11:49 +0100] rev 46045
phab-refresh: add an explanatory message This serve two purposes: - clarify why a bot just touched this diff, - explicit the fact the tests have been run, and are passing on this version. Differential Revision: https://phab.mercurial-scm.org/D9527
Sat, 05 Dec 2020 23:32:11 +0100 phab-refresh: allow passing additional argument to the phabsend
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 05 Dec 2020 23:32:11 +0100] rev 46044
phab-refresh: allow passing additional argument to the phabsend This will be useful to pass a custom message. Differential Revision: https://phab.mercurial-scm.org/D9526
Sat, 05 Dec 2020 23:27:57 +0100 phab-refresh: do not pick draft changeset from the bare "default" branch
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 05 Dec 2020 23:27:57 +0100] rev 46043
phab-refresh: do not pick draft changeset from the bare "default" branch My initial test overlooked a common case: draft changeset on the default branch. So right now, heptapod is doing a final refresh of the patch with the landed version. This is not a bit problem except for the extra noise. However we would be better without the noise. Differential Revision: https://phab.mercurial-scm.org/D9522
Tue, 01 Dec 2020 20:22:24 +0900 log: do not accept string-matcher pattern as -u/-b/-B parameter
Yuya Nishihara <yuya@tcha.org> [Tue, 01 Dec 2020 20:22:24 +0900] rev 46042
log: do not accept string-matcher pattern as -u/-b/-B parameter I'm pretty sure this is a bug introduced after we've switched the filtering backend to revset matcher.
Tue, 01 Dec 2020 19:32:36 +0900 log: do not override other filtering and sorting options by --bookmark
Yuya Nishihara <yuya@tcha.org> [Tue, 01 Dec 2020 19:32:36 +0900] rev 46041
log: do not override other filtering and sorting options by --bookmark This basically reimplements 0aa118f18d4b 'log: add bookmark option to "hg log"'. Before, any other filtering options but --rev were ignored. -G didn't work either since the ordering constraint wasn't enforced.
Tue, 01 Dec 2020 19:23:23 +0900 scmutil: extract function that builds revset expr to select bookmark branch
Yuya Nishihara <yuya@tcha.org> [Tue, 01 Dec 2020 19:23:23 +0900] rev 46040
scmutil: extract function that builds revset expr to select bookmark branch This is needed to process "log -B" option properly. "log" options have to be translated to a revset expression, not to an evaluated set.
Tue, 01 Dec 2020 19:46:01 +0900 scmutil: document that bookmarkrevs() ignores non-head bookmark branch
Yuya Nishihara <yuya@tcha.org> [Tue, 01 Dec 2020 19:46:01 +0900] rev 46039
scmutil: document that bookmarkrevs() ignores non-head bookmark branch "- ancestors(head() and not bookmark(%s))" excludes the bookmarked branch itself if bookmark(%s) is not a head. I'm a bit surprised by this behavior while writing "log -B" tests, so let's document it.
Sat, 07 Nov 2020 16:28:30 -0800 cext: add .pyi files for C extensions
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 07 Nov 2020 16:28:30 -0800] rev 46038
cext: add .pyi files for C extensions I'm unsure if all the annotations are completely accurate. But having these helps type checkers reason about our C extensions. Differential Revision: https://phab.mercurial-scm.org/D9281
Sat, 21 Nov 2020 00:10:36 -0500 phabricator: allow local revisions to be specified with `phabupdate`
Matt Harbison <matt_harbison@yahoo.com> [Sat, 21 Nov 2020 00:10:36 -0500] rev 46037
phabricator: allow local revisions to be specified with `phabupdate` It's way easier and less error prone to specify a revset after importing a series than to manually type in a series of Differentials. Unlike most revision oriented commands, this requires the `--rev` option explicitly because the existing `DREVSPEC` doesn't need to have the leading 'D', and therefore the meaning is ambiguous. I wouldn't have a problem giving precedence to the local revnum, but `phabread` and `phabimport` also use DREVSPEC, and local revisions make no sense there. I would be fine with modifying that definition to require the leading 'D', but I'm not sure how many people are used to not specifying it. Differential Revision: https://phab.mercurial-scm.org/D9356
Fri, 20 Nov 2020 10:51:07 +0100 copies: properly copies parent dictionary before updating it
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 20 Nov 2020 10:51:07 +0100] rev 46036
copies: properly copies parent dictionary before updating it This enforces the copy on write logic. Otherwise independant unrelated branches could affected each other. More testing of these case are coming, but I need that code landed to unlock other performance work in parallel. Differential Revision: https://phab.mercurial-scm.org/D9419
Mon, 30 Nov 2020 14:07:23 +0100 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 30 Nov 2020 14:07:23 +0100] rev 46035
upgrade: display the list of processed revlog before proceeding This help to make sure we don't wrongly skip some in the test and to make sure the user is aware of the amount of processing they is signing up for. Differential Revision: https://phab.mercurial-scm.org/D9469
Wed, 02 Dec 2020 08:23:31 +0100 rhg: add a test with persistent-nodemap
Simon Sapin <simon-commits@exyr.org> [Wed, 02 Dec 2020 08:23:31 +0100] rev 46034
rhg: add a test with persistent-nodemap Differential Revision: https://phab.mercurial-scm.org/D9519
Wed, 02 Dec 2020 15:00:49 +0100 rust: use NodePrefix::from_hex instead of hex::decode directly
Simon Sapin <simon-commits@exyr.org> [Wed, 02 Dec 2020 15:00:49 +0100] rev 46033
rust: use NodePrefix::from_hex instead of hex::decode directly This adds support for prefixes with an odd number of hex digits. Differential Revision: https://phab.mercurial-scm.org/D9490
Mon, 30 Nov 2020 19:34:49 +0100 rhg: allow specifying a changeset ID prefix
Simon Sapin <simon-commits@exyr.org> [Mon, 30 Nov 2020 19:34:49 +0100] rev 46032
rhg: allow specifying a changeset ID prefix Differential Revision: https://phab.mercurial-scm.org/D9479
Thu, 03 Dec 2020 13:23:59 -0800 tests: update test-releasenotes-formatting.t with new exit codes
Martin von Zweigbergk <martinvonz@google.com> [Thu, 03 Dec 2020 13:23:59 -0800] rev 46031
tests: update test-releasenotes-formatting.t with new exit codes I didn't have the fuzzywuzzy package installed before, so I didn't notice this test fail earlier (probably when I made `check_incompatible_arguments` return `InputError`). Differential Revision: https://phab.mercurial-scm.org/D9514
Thu, 03 Dec 2020 14:15:39 -0500 merge with stable
Augie Fackler <augie@google.com> [Thu, 03 Dec 2020 14:15:39 -0500] rev 46030
merge with stable
Thu, 03 Dec 2020 13:36:24 -0500 Added signature for changeset 1d5189a57405 stable
Augie Fackler <raf@durin42.com> [Thu, 03 Dec 2020 13:36:24 -0500] rev 46029
Added signature for changeset 1d5189a57405
Thu, 03 Dec 2020 13:36:23 -0500 Added tag 5.6.1 for changeset 1d5189a57405 stable
Augie Fackler <raf@durin42.com> [Thu, 03 Dec 2020 13:36:23 -0500] rev 46028
Added tag 5.6.1 for changeset 1d5189a57405
Wed, 02 Dec 2020 15:39:01 -0800 rebase: clear merge state when aborting in-memory merge on dirty working copy stable 5.6.1
Martin von Zweigbergk <martinvonz@google.com> [Wed, 02 Dec 2020 15:39:01 -0800] rev 46027
rebase: clear merge state when aborting in-memory merge on dirty working copy Differential Revision: https://phab.mercurial-scm.org/D9509
Wed, 02 Dec 2020 15:15:16 -0800 tests: show that in-memory rebase leaves state when working copy is dirty stable
Martin von Zweigbergk <martinvonz@google.com> [Wed, 02 Dec 2020 15:15:16 -0800] rev 46026
tests: show that in-memory rebase leaves state when working copy is dirty When in-memory rebase falls back to on-disk rebase, it checks if the working copy is dirty. If it is, it aborts the rebase. However, it leaves the rebase state on disk. I broke it in feffeb18d412 (rebase: teach in-memory rebase to not restart with on-disk rebase on conflict, 2020-09-18). Differential Revision: https://phab.mercurial-scm.org/D9508
Fri, 27 Nov 2020 14:54:37 -0500 extensions: avoid a crash when the version isn't properly byteified on py3 stable
Matt Harbison <matt_harbison@yahoo.com> [Fri, 27 Nov 2020 14:54:37 -0500] rev 46025
extensions: avoid a crash when the version isn't properly byteified on py3 We already force bytestr on the `testedwith` and `buglink` attributes in dispatch.py when generating a bug report with a similar comment about not every extension being ported to py3. We should do the same here, so the function can be properly typed. Differential Revision: https://phab.mercurial-scm.org/D9433
Mon, 23 Nov 2020 11:47:06 -0500 ui: ensure `getpass()` returns bytes stable
Matt Harbison <matt_harbison@yahoo.com> [Mon, 23 Nov 2020 11:47:06 -0500] rev 46024
ui: ensure `getpass()` returns bytes Previously, this could return either bytes or str. I'm not sure which direction we should go in, but since the input is bytes, I guess bytes makes sense as output. `debuguigetpass` crashed because it assumed bytes would be returned, `sslcontext.load_cert_chain()` is happy with bytes or str if the type info in PyCharm is correct, and `smtplib.SMTP.login()` wants str. I couldn't figure out how to test this, because the test stalls for input with `echo test | hg debuguigetpass --config ui.interactive=1`, likely because it drains stdin before prompting. The custom input reading with `ui.nontty=1` does not. I'm also a bit concerned with all of this encoding/decoding. The existing code in the mail module uses `encoding.strfromlocal()`, but the username and password are ascii encoded/decoded in `mercurial.url.passwordmgr.find_user_password()` with `pycompat.{str,bytes}url()`. I'm not sure if this inconsistency could cause subtle compatability issues. Differential Revision: https://phab.mercurial-scm.org/D9375
Thu, 26 Nov 2020 02:28:42 -0500 packaging: regenerate the Windows requirements manifest on Windows stable
Matt Harbison <matt_harbison@yahoo.com> [Thu, 26 Nov 2020 02:28:42 -0500] rev 46023
packaging: regenerate the Windows requirements manifest on Windows SecretStorage is a Linux package, and the other stuff removed is a dependency of it. I assume this was last generated on Linux, and noticed this trying to add another package and regenerating on Windows. Differential Revision: https://phab.mercurial-scm.org/D9404
Thu, 26 Nov 2020 03:09:56 -0500 pyoxidizer: point to the py3 requirements instead of py2 on Windows stable
Matt Harbison <matt_harbison@yahoo.com> [Thu, 26 Nov 2020 03:09:56 -0500] rev 46022
pyoxidizer: point to the py3 requirements instead of py2 on Windows Differential Revision: https://phab.mercurial-scm.org/D9406
(0) -30000 -10000 -3000 -1000 -300 -100 -50 -32 +32 +50 +100 +300 +1000 +3000 tip