Fri, 10 Dec 2021 16:18:58 +0100 rhg: Add support for `rhg status --copies`
Simon Sapin <simon.sapin@octobus.net> [Fri, 10 Dec 2021 16:18:58 +0100] rev 48454
rhg: Add support for `rhg status --copies` Copy sources are collected during `status()` rather than after the fact like in Python, because `status()` takes a `&mut` exclusive reference to the dirstate map (in order to potentially mutate it for directory mtimes) and returns `Cow<'_, HgPath>` that borrow the dirstate map. Even though with `Cow` only some shared borrows remain, the still extend the same lifetime of the initial `&mut` so the dirstate map cannot be borrowed again to access copy sources after the fact: https://doc.rust-lang.org/nomicon/lifetime-mismatch.html#limits-of-lifetimes Additionally, collecting copy sources during the dirstate tree traversal that `status()` already does avoids the cost of another traversal or other lookups (though I haven’t benchmarked that cost). Differential Revision: https://phab.mercurial-scm.org/D11899
Fri, 10 Dec 2021 16:57:39 +0100 rhg: refactor relativize_path into a struct + method
Simon Sapin <simon.sapin@octobus.net> [Fri, 10 Dec 2021 16:57:39 +0100] rev 48453
rhg: refactor relativize_path into a struct + method … instead of a function that takes an iterator and a callback. Differential Revision: https://phab.mercurial-scm.org/D11898
Fri, 10 Dec 2021 16:31:16 +0100 rhg: refactor display_status_paths with a struct for common arguments
Simon Sapin <simon.sapin@octobus.net> [Fri, 10 Dec 2021 16:31:16 +0100] rev 48452
rhg: refactor display_status_paths with a struct for common arguments Differential Revision: https://phab.mercurial-scm.org/D11897
Fri, 10 Dec 2021 14:27:00 +0100 rhg: Add support for ui.ignore and ui.ignore.* config
Simon Sapin <simon.sapin@octobus.net> [Fri, 10 Dec 2021 14:27:00 +0100] rev 48451
rhg: Add support for ui.ignore and ui.ignore.* config This fixes some but not all failures in `tests/test-hgignore.t` when running with `rhg status` enabled. Differential Revision: https://phab.mercurial-scm.org/D11907
Fri, 10 Dec 2021 17:20:21 +0100 doc: remove a spurious ^L in some doc
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 10 Dec 2021 17:20:21 +0100] rev 48450
doc: remove a spurious ^L in some doc This was wrongly introduced in D11784. Differential Revision: https://phab.mercurial-scm.org/D11896
Mon, 06 Dec 2021 21:30:32 +0100 upgrade: drop some dead code
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 06 Dec 2021 21:30:32 +0100] rev 48449
upgrade: drop some dead code Everything done by this block is now done by earlier code. So we don't need it anymore. Differential Revision: https://phab.mercurial-scm.org/D11872
Mon, 06 Dec 2021 17:54:39 +0100 upgrade: only process revlogs that needs it by default
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 06 Dec 2021 17:54:39 +0100] rev 48448
upgrade: only process revlogs that needs it by default We have more and more requirement that does not affect revlog or that only affect some of them. It is silly to force a full processing of all revlog to juste move the requirement around, or to simply rewrite the dirstate. So now, only the revlog that needs to be touched will be touched. Unless the --changelog & al flags are used. Differential Revision: https://phab.mercurial-scm.org/D11871
Mon, 06 Dec 2021 17:13:26 +0100 upgrade: issue a message when a revlog type has to be upgraded
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 06 Dec 2021 17:13:26 +0100] rev 48447
upgrade: issue a message when a revlog type has to be upgraded This is more explicite and prepare for a smoother transition to smarter picking of the revlog we will process. Differential Revision: https://phab.mercurial-scm.org/D11870
Mon, 06 Dec 2021 17:12:21 +0100 upgrade: explicitly warn when a `--no-xxx` flag is overwritten
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 06 Dec 2021 17:12:21 +0100] rev 48446
upgrade: explicitly warn when a `--no-xxx` flag is overwritten Some format upgrade/downgrades -needs- revlog to be recomputed. So we now detect that individually and warn when it contradict explicitly passed flag. This is part of a larger series to make `debugupgraderepo` smarter about which revlog it picks by default. Differential Revision: https://phab.mercurial-scm.org/D11869
Mon, 06 Dec 2021 14:40:13 +0100 upgrade: make the list of explicitly specified revlog a dict
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 06 Dec 2021 14:40:13 +0100] rev 48445
upgrade: make the list of explicitly specified revlog a dict This makes various logic simpler and will help making future patch clearer. Differential Revision: https://phab.mercurial-scm.org/D11868
(0) -30000 -10000 -3000 -1000 -300 -100 -10 +10 +100 +300 +1000 +3000 tip