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 48490
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 48489
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 48488
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 48487
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 48486
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 48485
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 48484
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
Mon, 06 Dec 2021 11:59:48 +0100 upgrade: move the revlog selection code lower down the chain
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 06 Dec 2021 11:59:48 +0100] rev 48483
upgrade: move the revlog selection code lower down the chain We about about to make revlog section smarter. Moving the code around will make the next changesets clearer. Differential Revision: https://phab.mercurial-scm.org/D11867
Thu, 09 Dec 2021 10:55:17 +0100 rhg: Set second_ambiguous as needed in post-status fixup
Simon Sapin <simon.sapin@octobus.net> [Thu, 09 Dec 2021 10:55:17 +0100] rev 48482
rhg: Set second_ambiguous as needed in post-status fixup This fixes an intermittent bug that manifested only in test-revert.t, and unfortunately not on CI. On a fast enough machine we could have: 1. A file is modified 2. `rhg status` writes an updated dirstate-v1 3. The same file is modified again … all within the same integer second. Because the dirstate-v1 file format does not store sub-second precision, step 2 must write the file’s mtime as "unknown" because of the possibility of step 3. However, most of the code now handles timestamps with nanosecond precision in order to take advantage of it in dirstate-v2. `second_ambiguous` must be set for timestamps that become ambiguous if sub-second precision is dropped (such as through serialization in dirstate-v1 format). Differential Revision: https://phab.mercurial-scm.org/D11889
Thu, 09 Dec 2021 10:23:41 +0100 dirstate: Document Timestamp.second_ambiguous
Simon Sapin <simon.sapin@octobus.net> [Thu, 09 Dec 2021 10:23:41 +0100] rev 48481
dirstate: Document Timestamp.second_ambiguous Differential Revision: https://phab.mercurial-scm.org/D11888
Tue, 07 Dec 2021 12:34:58 +0100 rhg: support the new extension suboptions syntax
Raphaël Gomès <rgomes@octobus.net> [Tue, 07 Dec 2021 12:34:58 +0100] rev 48480
rhg: support the new extension suboptions syntax See inline comments Differential Revision: https://phab.mercurial-scm.org/D11874
Wed, 08 Dec 2021 10:14:37 +0100 branching: merge stable into default
Raphaël Gomès <rgomes@octobus.net> [Wed, 08 Dec 2021 10:14:37 +0100] rev 48479
branching: merge stable into default
Mon, 06 Dec 2021 12:30:54 -0800 filemerge: remove `premerge` argument from `_makebackup()`
Martin von Zweigbergk <martinvonz@google.com> [Mon, 06 Dec 2021 12:30:54 -0800] rev 48478
filemerge: remove `premerge` argument from `_makebackup()` We now always pass `True`, so there's no need to pass it. Differential Revision: https://phab.mercurial-scm.org/D11863
Fri, 03 Dec 2021 22:45:35 -0800 filemerge: inline `_filemerge()` into `filemerge()`
Martin von Zweigbergk <martinvonz@google.com> [Fri, 03 Dec 2021 22:45:35 -0800] rev 48477
filemerge: inline `_filemerge()` into `filemerge()` The caller is now trivial, so the indirection is pointless. Differential Revision: https://phab.mercurial-scm.org/D11860
Fri, 03 Dec 2021 21:41:43 -0800 filemerge: make `_filemerge()` do both premerge and merge
Martin von Zweigbergk <martinvonz@google.com> [Fri, 03 Dec 2021 21:41:43 -0800] rev 48476
filemerge: make `_filemerge()` do both premerge and merge This patch removes the `premerge` argument from `_filemerge()` and makes it do both the "premerge" and "merge" steps without the caller having to call it twice. Differential Revision: https://phab.mercurial-scm.org/D11859
Fri, 03 Dec 2021 16:21:46 -0800 filemerge: merge `premerge()` into `filemerge()`
Martin von Zweigbergk <martinvonz@google.com> [Fri, 03 Dec 2021 16:21:46 -0800] rev 48475
filemerge: merge `premerge()` into `filemerge()` Differential Revision: https://phab.mercurial-scm.org/D11858
Fri, 03 Dec 2021 15:43:54 -0800 mergestate: inline `_resolve()` into `resolve()`
Martin von Zweigbergk <martinvonz@google.com> [Fri, 03 Dec 2021 15:43:54 -0800] rev 48474
mergestate: inline `_resolve()` into `resolve()` The caller is now trivial, so the indirection is pointless. Differential Revision: https://phab.mercurial-scm.org/D11857
Fri, 03 Dec 2021 13:53:02 -0800 mergestate: make `_resolve()` do both preresolve and resolve
Martin von Zweigbergk <martinvonz@google.com> [Fri, 03 Dec 2021 13:53:02 -0800] rev 48473
mergestate: make `_resolve()` do both preresolve and resolve This patch removes the `preresolve` argument from `_resolve()` and makes it do both the "preresolve" and "resolve" steps without the caller having to call it twice. Differential Revision: https://phab.mercurial-scm.org/D11856
Thu, 02 Dec 2021 22:59:36 -0800 mergestate: merge `preresolve()` into `resolve()`
Martin von Zweigbergk <martinvonz@google.com> [Thu, 02 Dec 2021 22:59:36 -0800] rev 48472
mergestate: merge `preresolve()` into `resolve()` The separation between `preresolve()` and `resolve()` was something added for the "merge driver" feature. Since we removed that in 32ce4cbaec4b (mergedriver: delete it, 2020-09-17), we don't need the separation anymore. More cleanups will follow. Differential Revision: https://phab.mercurial-scm.org/D11855
Fri, 03 Dec 2021 21:50:25 -0800 tests: remove unnecessary explicit args from `failfilemerge.py`
Martin von Zweigbergk <martinvonz@google.com> [Fri, 03 Dec 2021 21:50:25 -0800] rev 48471
tests: remove unnecessary explicit args from `failfilemerge.py` The `failfilemerge()` function always raises an exception without looking at its arguments, so let's use `*args` and `**kwargs`. Differential Revision: https://phab.mercurial-scm.org/D11854
Mon, 29 Nov 2021 23:00:29 -0800 simplemerge: set `conflicts` earlier for :union tool
Martin von Zweigbergk <martinvonz@google.com> [Mon, 29 Nov 2021 23:00:29 -0800] rev 48470
simplemerge: set `conflicts` earlier for :union tool Differential Revision: https://phab.mercurial-scm.org/D11853
Fri, 26 Nov 2021 11:53:54 +0100 typo: s/unkown/unknown across the codebase
Raphaël Gomès <rgomes@octobus.net> [Fri, 26 Nov 2021 11:53:54 +0100] rev 48469
typo: s/unkown/unknown across the codebase Differential Revision: https://phab.mercurial-scm.org/D11807
Thu, 25 Nov 2021 18:33:51 +0100 rhg: Update the dirstate on disk after status
Simon Sapin <simon.sapin@octobus.net> [Thu, 25 Nov 2021 18:33:51 +0100] rev 48468
rhg: Update the dirstate on disk after status Differential Revision: https://phab.mercurial-scm.org/D11840
Thu, 02 Dec 2021 15:10:03 +0100 rhg: Add Repo::write_dirstate
Simon Sapin <simon.sapin@octobus.net> [Thu, 02 Dec 2021 15:10:03 +0100] rev 48467
rhg: Add Repo::write_dirstate This method is not used yet. It saves to disk any mutation that was done to the `Repo`’s dirstate through `Repo::dirstate_map_mut`. It takes care of dirstate-v1 v.s. dirstate-v2, dockets, data files, appending when possible, etc. Differential Revision: https://phab.mercurial-scm.org/D11839
Thu, 02 Dec 2021 12:05:36 +0100 rhg: Add lazy/cached dirstate data file ID parsing on Repo
Simon Sapin <simon.sapin@octobus.net> [Thu, 02 Dec 2021 12:05:36 +0100] rev 48466
rhg: Add lazy/cached dirstate data file ID parsing on Repo The `dirstate_parents`, `dirstate_data_file_uuid`, and `dirstate_map` members of `Repo` can be access in any order and the `.hg/dirstate` file should only be opened once. Differential Revision: https://phab.mercurial-scm.org/D11838
Mon, 29 Nov 2021 19:00:11 +0100 rhg: Make Repo::dirstate_parents a LazyCell
Simon Sapin <simon.sapin@octobus.net> [Mon, 29 Nov 2021 19:00:11 +0100] rev 48465
rhg: Make Repo::dirstate_parents a LazyCell Unify with the same abstraction used for other lazily-initialized components Differential Revision: https://phab.mercurial-scm.org/D11837
Mon, 29 Nov 2021 18:46:04 +0100 rust: Add Vfs::write_atomic
Simon Sapin <simon.sapin@octobus.net> [Mon, 29 Nov 2021 18:46:04 +0100] rev 48464
rust: Add Vfs::write_atomic This method writes to a temporary file then renames in place Differential Revision: https://phab.mercurial-scm.org/D11836
Mon, 22 Mar 2021 09:07:10 +0100 rhg: Initial repository locking
Simon Sapin <simon.sapin@octobus.net> [Mon, 22 Mar 2021 09:07:10 +0100] rev 48463
rhg: Initial repository locking Initial Rust implementation of locking based on the `.hg/wlock` symlink (or file), with lock breaking when the recorded pid and hostname show that a lock was left by a local process that is not running anymore (as it might have been killed). Differential Revision: https://phab.mercurial-scm.org/D11835
Mon, 29 Nov 2021 17:37:08 +0100 rust: Serializing a DirstateMap does not mutate it anymore
Simon Sapin <simon.sapin@octobus.net> [Mon, 29 Nov 2021 17:37:08 +0100] rev 48462
rust: Serializing a DirstateMap does not mutate it anymore Differential Revision: https://phab.mercurial-scm.org/D11834
Fri, 26 Nov 2021 15:07:59 +0100 rhg: don't run `blackbox` if not activated
Raphaël Gomès <rgomes@octobus.net> [Fri, 26 Nov 2021 15:07:59 +0100] rev 48461
rhg: don't run `blackbox` if not activated You currently have no way of turning off blackbox. Aside from being a bug, this can be annoying if you use `rhg` in your shell prompt, but also because the current implementation of blackbox is quite slow due to `user` querying. Differential Revision: https://phab.mercurial-scm.org/D11813
(0) -30000 -10000 -3000 -1000 -300 -100 -50 -30 +30 +50 +100 +300 +1000 +3000 tip