Thu, 22 Sep 2022 16:05:22 -0400 rhg: fix bugs around [use-dirstate-tracked-hint] and repo auto-upgrade stable
Arseniy Alekseyev <aalekseyev@janestreet.com> [Thu, 22 Sep 2022 16:05:22 -0400] rev 49500
rhg: fix bugs around [use-dirstate-tracked-hint] and repo auto-upgrade This makes two changes: - make rhg support the [dirstate-tracked-key-v1] requirement. I believe rhg never changes the tracked file set, so it's OK that it doesn't have any logic for writing this file. - fix the name of [format.use-dirstate-v2.automatic-upgrade-of-mismatching-repositories] config option in rhg, which makes rhg actually honor the auto-upgrade. These two issues cancelled each other out in tests (auto-upgrade was happening because [dirstate-tracked-key-v1] forced the fallback, not because of the config), which is I think why they went unnoticed earlier.
Thu, 22 Sep 2022 16:09:53 +0200 tests: fix http-bad-server expected errors for python 3.10 (issue6643)
pacien <pacien.trangirard@pacien.net> [Thu, 22 Sep 2022 16:09:53 +0200] rev 49499
tests: fix http-bad-server expected errors for python 3.10 (issue6643) The format of the error message changed with this version of Python. This also removes obsolete Python 3 checks.
Thu, 22 Sep 2022 16:50:30 -0700 status: let `--no-copies` override `ui.statuscopies`
Martin von Zweigbergk <martinvonz@google.com> [Thu, 22 Sep 2022 16:50:30 -0700] rev 49498
status: let `--no-copies` override `ui.statuscopies`
Thu, 22 Sep 2022 01:50:53 +0200 run-tests: display the time it took to install Mercurial
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 22 Sep 2022 01:50:53 +0200] rev 49497
run-tests: display the time it took to install Mercurial It will help make people aware of this critical step and to assess the time it takes in various options (like a CI run for example).
Thu, 22 Sep 2022 01:48:02 +0200 run-tests: deal with distutil deprecation
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 22 Sep 2022 01:48:02 +0200] rev 49496
run-tests: deal with distutil deprecation PEP 632 recommend the use of `packaging.version` to replace the deprecated `distutil.version`. So lets do it.
Fri, 09 Sep 2022 12:45:26 -0700 fsmonitor: migrate Python ABCs from collections to collections.abc
Martin von Zweigbergk <martinvonz@google.com> [Fri, 09 Sep 2022 12:45:26 -0700] rev 49495
fsmonitor: migrate Python ABCs from collections to collections.abc The Collections Abstract Base Classes in the collections module are deprecated since Python 3.3 in favor of collections.abc, and removed in Python 3.10.
Thu, 15 Sep 2022 01:48:38 +0200 templates: add filter to reverse list
Manuel Jacob <me@manueljacob.de> [Thu, 15 Sep 2022 01:48:38 +0200] rev 49494
templates: add filter to reverse list The filter supports only lists because for lists, it’s straightforward to implement. Reversing text doesn’t seem very useful and is hard to implement. Reversing the bytes would break multi-bytes encodings. Reversing the code points would break characters consisting of multiple code points. Reversing graphemes is non-trivial without using a library not included in the standard library.
Wed, 07 Sep 2022 14:56:45 -0400 requires: re-use vfs.tryread for simplicity
Jason R. Coombs <jaraco@jaraco.com> [Wed, 07 Sep 2022 14:56:45 -0400] rev 49493
requires: re-use vfs.tryread for simplicity Avoids calling `set` twice or having to re-raise an exception and implements the routine with a single return expression.
Tue, 20 Sep 2022 13:38:07 -0400 tests: fix the flaky test test-logtoprocess.t stable
Arseniy Alekseyev <aalekseyev@janestreet.com> [Tue, 20 Sep 2022 13:38:07 -0400] rev 49492
tests: fix the flaky test test-logtoprocess.t The main change is that we're waiting for the [touched] file to appear for 5 seconds instead of 0.1 seconds. Also, instead of implementing wait-on-file from scratch, we use the existing one from testlib/ that works well.
Tue, 30 Aug 2022 15:29:55 -0400 bisect: avoid copying ancestor list for non-merge commits
Arun Kulshreshtha <akulshreshtha@janestreet.com> [Tue, 30 Aug 2022 15:29:55 -0400] rev 49491
bisect: avoid copying ancestor list for non-merge commits During a bisection, hg needs to compute a list of all ancestors for every candidate commit. This is accomplished via a bottom-up traversal of the set of candidates, during which each revision's ancestor list is populated using the ancestor list of its parent(s). Previously, this involved copying the entire list, which could be very long in if the bisection range was large. To help improve this, we can observe that each candidate commit is visited exactly once, at which point its ancestor list is copied into its children's lists and then dropped. In the case of non-merge commits, a commit's ancestor list consists exactly of its parent's list plus itself. This means that we can trivially reuse the parent's existing list for one of its non-merge children, which avoids copying entirely if that commit is the parent's only child. This makes bisections over linear ranges of commits much faster. During some informal testing in the large publicly-available `mozilla-central` repository, this noticeably sped up bisections over large ranges of history: Setup: $ cd mozilla-central $ hg bisect --reset $ hg bisect --good 0 $ hg log -r tip -T '{rev}\n' 628417 Test: $ time hg bisect --bad tip --noupdate Before: real 3m35.927s user 3m35.553s sys 0m0.319s After: real 1m41.142s user 1m40.810s sys 0m0.285s
Tue, 06 Sep 2022 15:08:52 -0400 packaging: update dulwich to drop the certifi dependency on Windows stable
Matt Harbison <matt_harbison@yahoo.com> [Tue, 06 Sep 2022 15:08:52 -0400] rev 49490
packaging: update dulwich to drop the certifi dependency on Windows The presence of `certifi` causes the system certificate store to be ignored, which was reported as a bug against TortoiseHg[1]. It was only pulled in on Windows because of `dulwich`, which was copied from the old TortoiseHg install scripts, in order to support `hg-git`. This version of `dulwich` raises the minimum `urllib3` to a version (1.25) that does certificate verification by default, without the help of `certifi`[2]. We already bundle a newer version of `urllib3`. Note that `certifi` can still be imported from the user site directory, if installed there. But the installer no longer disables the system certificates by default. [1] https://foss.heptapod.net/mercurial/tortoisehg/thg/-/issues/5825 [2] https://github.com/jelmer/dulwich/issues/1025
Mon, 25 Jul 2022 15:39:04 +0200 rhg-status: add support for narrow clones
Raphaël Gomès <rgomes@octobus.net> [Mon, 25 Jul 2022 15:39:04 +0200] rev 49489
rhg-status: add support for narrow clones
Tue, 19 Jul 2022 17:07:09 +0200 rust: add support for hints in error messages
Raphaël Gomès <rgomes@octobus.net> [Tue, 19 Jul 2022 17:07:09 +0200] rev 49488
rust: add support for hints in error messages This will be used by the narrow support code in the next commit.
Mon, 11 Jul 2022 11:59:13 +0200 rust: add Debug constraint to Matcher trait
Raphaël Gomès <rgomes@octobus.net> [Mon, 11 Jul 2022 11:59:13 +0200] rev 49487
rust: add Debug constraint to Matcher trait This makes sure we can easily debug which Matcher we're looking at when using trait objects, and is just generally useful. Effort to make the debugging output nicer has been kept to a minimum, please feel free to improve.
Mon, 19 Sep 2022 17:34:42 -0400 tests: fix tar invocation, to address issue 6740 stable
Arseniy Alekseyev <aalekseyev@janestreet.com> [Mon, 19 Sep 2022 17:34:42 -0400] rev 49486
tests: fix tar invocation, to address issue 6740
Tue, 19 Jul 2022 15:37:45 +0200 rhg: add sparse support
Raphaël Gomès <rgomes@octobus.net> [Tue, 19 Jul 2022 15:37:45 +0200] rev 49485
rhg: add sparse support
Tue, 19 Jul 2022 15:37:09 +0200 rhg: add debugrhgsparse command to help figure out bugs in rhg
Raphaël Gomès <rgomes@octobus.net> [Tue, 19 Jul 2022 15:37:09 +0200] rev 49484
rhg: add debugrhgsparse command to help figure out bugs in rhg
Tue, 26 Jul 2022 17:33:34 +0200 rhg-status: extract a function for printing pattern file warnings
Raphaël Gomès <rgomes@octobus.net> [Tue, 26 Jul 2022 17:33:34 +0200] rev 49483
rhg-status: extract a function for printing pattern file warnings This will be reused for the warnings produced by the sparse file parsing functions.
Mon, 18 Jul 2022 17:25:49 +0200 rust-filepatterns: allow overriding default syntax
Raphaël Gomès <rgomes@octobus.net> [Mon, 18 Jul 2022 17:25:49 +0200] rev 49482
rust-filepatterns: allow overriding default syntax This will be used when parsing pattern files other than .hgignore like the sparse spec.
Tue, 12 Jul 2022 10:15:52 +0200 rhg: don't fallback if `strip` or `rebase` are activated
Raphaël Gomès <rgomes@octobus.net> [Tue, 12 Jul 2022 10:15:52 +0200] rev 49481
rhg: don't fallback if `strip` or `rebase` are activated Neither of these extensions do anything other than add commands, so ignoring them opens up more of the test suite to rhg.
Mon, 11 Jul 2022 17:44:03 +0200 rhg: fallback in `debugdata` if repo has `narrow`
Raphaël Gomès <rgomes@octobus.net> [Mon, 11 Jul 2022 17:44:03 +0200] rev 49480
rhg: fallback in `debugdata` if repo has `narrow` Narrow uses ellipsis nodes and debugdata does not understand them yet.
Wed, 06 Jul 2022 11:46:00 +0200 rust-status: expose DifferenceMatcher from Rust to Python
Raphaël Gomès <rgomes@octobus.net> [Wed, 06 Jul 2022 11:46:00 +0200] rev 49479
rust-status: expose DifferenceMatcher from Rust to Python
Wed, 06 Jul 2022 11:44:20 +0200 rust-matchers: implement DifferenceMatcher
Raphaël Gomès <rgomes@octobus.net> [Wed, 06 Jul 2022 11:44:20 +0200] rev 49478
rust-matchers: implement DifferenceMatcher This can be generated by the sparse matcher.
Mon, 11 Jul 2022 17:27:39 +0200 rhg: support "!" syntax for disabling extensions
Raphaël Gomès <rgomes@octobus.net> [Mon, 11 Jul 2022 17:27:39 +0200] rev 49477
rhg: support "!" syntax for disabling extensions This makes it so that calls in test-log.t do not fall back immediately because of the disabled extension, instead going through the CLI parsing code, which breaks because of invalid UTF-8 in a flag. I *think* clap 3.x+ supports this? I'm not sure, and we have to upgrade the minimum Rust version to use clap 3.x anyway which is out of scope for this series, so let's just kick that can down the road a little bit.
Fri, 20 May 2022 11:02:52 +0100 revlog: finer computation of "issnapshot"
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 20 May 2022 11:02:52 +0100] rev 49476
revlog: finer computation of "issnapshot" If the parent had an empty diff, we skip of it to compute a diff against the parent base. This create shorter and simpler chain. However these case could be wrongly detected as snapshot. So we improve the code doing this detection. In practice nobody care as when tried on a copy of mozilla-try and we got the same number of snapshot (1315) in both case. Performance where equivalent.
Fri, 26 Aug 2022 00:50:31 +0200 perf: make perf::bundle compatible down to 5.2
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 26 Aug 2022 00:50:31 +0200] rev 49475
perf: make perf::bundle compatible down to 5.2 A another small change to make it compatible with a wider set of revision. I did not check compatibility in the python-2 territory yet.
Fri, 26 Aug 2022 00:48:54 +0200 perf: make perf::bundle compatible before 61ba04693d65
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 26 Aug 2022 00:48:54 +0200] rev 49474
perf: make perf::bundle compatible before 61ba04693d65 A small change to make it compatible with a wider set of revision.
Thu, 01 Sep 2022 16:51:26 +0200 branching: merge stable into default
Raphaël Gomès <rgomes@octobus.net> [Thu, 01 Sep 2022 16:51:26 +0200] rev 49473
branching: merge stable into default
Thu, 01 Sep 2022 16:41:48 +0200 relnotes: add 6.2.1 and 6.2.2 stable
Raphaël Gomès <rgomes@octobus.net> [Thu, 01 Sep 2022 16:41:48 +0200] rev 49472
relnotes: add 6.2.1 and 6.2.2
Thu, 01 Sep 2022 16:44:00 +0200 Added signature for changeset b5c8524827d2 stable
Raphaël Gomès <rgomes@octobus.net> [Thu, 01 Sep 2022 16:44:00 +0200] rev 49471
Added signature for changeset b5c8524827d2
Thu, 01 Sep 2022 16:43:36 +0200 Added tag 6.2.2 for changeset b5c8524827d2 stable
Raphaël Gomès <rgomes@octobus.net> [Thu, 01 Sep 2022 16:43:36 +0200] rev 49470
Added tag 6.2.2 for changeset b5c8524827d2
Thu, 01 Sep 2022 15:49:14 +0200 dirstate-v2: no longer register the data-file during transaction stable 6.2.2
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 01 Sep 2022 15:49:14 +0200] rev 49469
dirstate-v2: no longer register the data-file during transaction If the data file change during the transaction, we cannot truncate it. The content of the file itself is fine as it will get backed up at the same time as the docket. Leaving the trailing data at the end of failed transaction is fine. The dirstate-v2 format supports it. The dead data will simply we written over if necessary.
(0) -30000 -10000 -3000 -1000 -300 -100 -50 -32 +32 +50 +100 +300 +1000 tip