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
Fri, 26 Nov 2021 15:05:58 +0100 rust: add function to check if an extension is enabled
Raphaël Gomès <rgomes@octobus.net> [Fri, 26 Nov 2021 15:05:58 +0100] rev 48460
rust: add function to check if an extension is enabled This will be used in the next patch Differential Revision: https://phab.mercurial-scm.org/D11812
Fri, 03 Dec 2021 15:06:40 +0100 dirstate: remove unused method
Raphaël Gomès <rgomes@octobus.net> [Fri, 03 Dec 2021 15:06:40 +0100] rev 48459
dirstate: remove unused method Its last usage was inlined in `merge.py`. Differential Revision: https://phab.mercurial-scm.org/D11849
Sat, 04 Dec 2021 03:51:33 +0100 python2-compat: fix extensions' tests on python2
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 04 Dec 2021 03:51:33 +0100] rev 48458
python2-compat: fix extensions' tests on python2 They are minor output different to be taken in account. Differential Revision: https://phab.mercurial-scm.org/D11861
Tue, 16 Nov 2021 11:53:58 +0000 rhg: add support for narrow clones and sparse checkouts
Arseniy Alekseyev <aalekseyev@janestreet.com> [Tue, 16 Nov 2021 11:53:58 +0000] rev 48457
rhg: add support for narrow clones and sparse checkouts This adds a minimal support that can be implemented without parsing the narrowspec. We can parse the narrowspec and add support for more operations later. The reason we need so few code changes is as follows: Most operations need no special treatment of sparse because some of them only read dirstate (`rhg files` without `-r`), which bakes in the filtering, some of them only read store (`rhg files -r`, `rhg cat`), and some of them read no data at all (`rhg root`, `rhg debugrequirements`). `status` is the command that might care about sparse, so we just disable rhg on it. For narrow clones, `rhg files` clearly needs the narrowspec to work correctly, so we fall back. `rhg cat` seems to work consistently with `hg cat` if the file exists. If the file is hidden by narrow spec, the error message is different and confusing, so that's something that we should improve in follow-up patches. Differential Revision: https://phab.mercurial-scm.org/D11764
Fri, 03 Dec 2021 14:36:40 +0100 update: reformat the `commands.update.check` help
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 03 Dec 2021 14:36:40 +0100] rev 48456
update: reformat the `commands.update.check` help This make the various option clearer. Differential Revision: https://phab.mercurial-scm.org/D11852
Fri, 03 Dec 2021 12:03:23 +0100 update: properly overwrite `check` config with `--no-` variants
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 03 Dec 2021 12:03:23 +0100] rev 48455
update: properly overwrite `check` config with `--no-` variants Before this change `--merge` override `commands.update.check=abort/noconflict`, and `--check` "override" `commands.update.check=none/linear`. However the `--no-merge` and `--no-check` version where not doing anything. The `--no-` two flags now behave properly. Differential Revision: https://phab.mercurial-scm.org/D11851
Fri, 03 Dec 2021 12:19:36 +0100 update: add a test for `--merge` overriding the "abort" config
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 03 Dec 2021 12:19:36 +0100] rev 48454
update: add a test for `--merge` overriding the "abort" config I don't see this behavior tested anywhere. Differential Revision: https://phab.mercurial-scm.org/D11850
Fri, 03 Dec 2021 12:01:00 +0100 update: use long version of the flag in the test
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 03 Dec 2021 12:01:00 +0100] rev 48453
update: use long version of the flag in the test This helps readability and searchability. Differential Revision: https://phab.mercurial-scm.org/D11848
Mon, 22 Nov 2021 10:47:12 +0100 backout: backed out changeset 5d83a40cd3f8
Raphaël Gomès <rgomes@octobus.net> [Mon, 22 Nov 2021 10:47:12 +0100] rev 48452
backout: backed out changeset 5d83a40cd3f8 This is the re-send of the backout in D11757 that I accidentally queued. I'll rewrite the original commit message: ...sigh We do not have Python 3 packaging for thg on Windows where the vast majority of of users use the thg installer for Mercurial. Until this is done (hopefully this cycle), we're keeping Python. (end of the old commit message) On top of this, we have a solid lead to have competent people take care of this packaging issue for us in time for the 6.1 release, which is really the main reason for us to wait. We're trying our best to make this work, so please bear with us. Differential Revision: https://phab.mercurial-scm.org/D11770
Wed, 24 Nov 2021 05:00:28 +0100 status: keep second-ambiguous mtimes during fixup
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 24 Nov 2021 05:00:28 +0100] rev 48451
status: keep second-ambiguous mtimes during fixup Now that we support the feature, we can keep "second ambiguous" mtime during the fixup phase. These are the mtime that would be ambiguous if we did not had sub-second précions. See the v2 format documentation for details. Differential Revision: https://phab.mercurial-scm.org/D11847
(0) -30000 -10000 -3000 -1000 -300 -100 -50 -28 +28 +50 +100 +300 +1000 +3000 tip