Wed, 17 Aug 2022 02:43:44 +0200 obsstore: break the repo → obstore → repo loop
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 17 Aug 2022 02:43:44 +0200] rev 49424
obsstore: break the repo → obstore → repo loop This should help the garbage collector to do its job. On repository with many markers, the memory pressure from the obsstore can get quite serious.
Tue, 16 Aug 2022 11:19:54 -0400 relnotes: mention chg behavior change when given --cwd
Arun Kulshreshtha <akulshreshtha@janestreet.com> [Tue, 16 Aug 2022 11:19:54 -0400] rev 49423
relnotes: mention chg behavior change when given --cwd
Wed, 10 Aug 2022 15:01:50 -0400 dispatch: change cwd when loading local config
Arun Kulshreshtha <akulshreshtha@janestreet.com> [Wed, 10 Aug 2022 15:01:50 -0400] rev 49422
dispatch: change cwd when loading local config Previously, the `_getlocal` function would not correctly load the repo config when given a relative `rpath` and an alternate cwd via the `wd` parameter. Normally when `--cwd` is specified, hg changes to the given directory before attempting to load the local config (and therefore does not specify a `wd`). The only time the function is called with `wd` set is when hg is running as a command server (e.g., with chg), in which case each forked worker process will attempt to configure itself via `_getlocal` before responding to the client. When given a relative repo path, the worker fails to load the repo config, detects a config mismatch with the client, and enters a redirect/respawn loop. To fix this, we can simply change to the desired working directory during config loading. (Note that simply concatenating `wd` and `rpath` won't work in all cases. The repo path could be something more complicated than a simple relative path, such as a `union:` repo.)
Wed, 17 Aug 2022 12:00:06 +0200 rust-status: ignored directories are now correctly only listed if opted into stable
Raphaël Gomès <rgomes@octobus.net> [Wed, 17 Aug 2022 12:00:06 +0200] rev 49421
rust-status: ignored directories are now correctly only listed if opted into This fixes the behavior of `hg purge` removing empty ignored directory even without `--all` or `--ignored`.
Fri, 05 Aug 2022 14:18:13 +0100 test: show how purge removes ignored directories stable
Arseniy Alekseyev <aalekseyev@janestreet.com> [Fri, 05 Aug 2022 14:18:13 +0100] rev 49420
test: show how purge removes ignored directories Apparently the rust code path removes ignored directories even though the pure code path doesn't. Show this in tests.
Mon, 08 Aug 2022 17:27:49 +0200 contrib: add support for rhel9
Mathias De Mare <mathias.de_mare@nokia.com> [Mon, 08 Aug 2022 17:27:49 +0200] rev 49419
contrib: add support for rhel9
Mon, 08 Aug 2022 17:26:04 +0200 packagelib: use python3 by default
Mathias De Mare <mathias.de_mare@nokia.com> [Mon, 08 Aug 2022 17:26:04 +0200] rev 49418
packagelib: use python3 by default
Mon, 11 Jul 2022 22:47:56 +0200 rust: bump to memmap2 0.5.3, micro-timer 0.4.0, and crossbeam-channel 0.5.0 stable
Mads Kiilerich <mads@kiilerich.com> [Mon, 11 Jul 2022 22:47:56 +0200] rev 49417
rust: bump to memmap2 0.5.3, micro-timer 0.4.0, and crossbeam-channel 0.5.0 The merge in 12adf8c695ed had conflicts in rust/Cargo.lock and rust/hg-core/Cargo.toml . Let's ignore rust/Cargo.lock - it is regenerated. For rust/hg-core/Cargo.toml, stable had dd6b67d5c256 "rust: fix unsound `OwningDirstateMap`" which introduced ouroboros (and dropped stable_deref_trait). Default had ec8d9b5a5e7c "rust-hg-core: upgrade dependencies" which had a lot of churn bumping minimum versions - also patch versions. It is indeed a good idea to bump to *allow* use of latest package. That means that major versions should be bumped for packages after 1.0, and for packages below 1.0 minor versions should be bumped too. But it doesn't work to try enforce a policy of using latest patch by bumping versions at arbitrary times. For good or bad, the merge doesn't seem to have resolved the conflicts correctly, and many of the minor "upgrade dependencies" were lost again. Unfortunately, it also lost the bump of memmap2 to 0.5.3, which is needed for Fedora packaging where 0.4 isn't available. Same with micro-timer bump to 0.4 (which already is used in rhg). crossbeam-channel bump was also lost. This change fixes that regression by redoing these "important" lines of the merge "correctly". I propose this for stable, even though dependency changes on stable branches are annoying.
Fri, 12 Aug 2022 17:27:07 -0400 tests: work around libmagic bug in svn subrepo tests
Arun Kulshreshtha <akulshreshtha@janestreet.com> [Fri, 12 Aug 2022 17:27:07 -0400] rev 49416
tests: work around libmagic bug in svn subrepo tests libmagic 5.40 introduced a bug [1] wherein ASCII text files with fewer than 3 distinct character values would be reported as binary data rather than as text. This bug was later fixed in version 5.41 [2]. SVN uses libmagic to determine the MIME type of added files with missing or unknown extensions [3]. This results in test failures on systems with libmagic 5.40 installed: $ echo a > a $ svn add a - A a + A (bin) a A simple workaround is to change the test file's content to include 3 distinct ASCII values (including the terminating newline). [1] https://bugs.astron.com/view.php?id=180 [2] https://bugs.astron.com/view.php?id=261 [3] https://svnbook.red-bean.com/en/1.8/svn.advanced.props.html#idm2649
Mon, 15 Aug 2022 16:12:41 +0100 revlog: make _partialmatch fail fast on almost-hex inputs
Arseniy Alekseyev <aalekseyev@janestreet.com> [Mon, 15 Aug 2022 16:12:41 +0100] rev 49415
revlog: make _partialmatch fail fast on almost-hex inputs Before this change, resolving a revision like [0123456789^] on a large repo can take multiple seconds because: - hg does not realize this is a revset, so it tries various things, including _partialmatch(b"0123456789^") - after the rust lookup fails, it falls back to pure hg - pure hg takes all-but-last chars and converts them to binary, which *succeeds*, so it does the expensive part.
(0) -30000 -10000 -3000 -1000 -300 -100 -10 +10 +100 +300 +1000 tip