Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 19 Jul 2021 00:31:59 +0200] rev 47742
dirstate: deprecate the `otherparent` method in all cases
All code have been migrated to the new APIs.
Differential Revision: https://phab.mercurial-scm.org/D11184
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 19 Jul 2021 00:26:02 +0200] rev 47741
dirstate: deprecate the `normallookup` method in all cases
All code have been migrated to the new APIs.
Differential Revision: https://phab.mercurial-scm.org/D11183
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 19 Jul 2021 15:41:51 +0200] rev 47740
narrow: stop using `normallookup` during a test
Differential Revision: https://phab.mercurial-scm.org/D11182
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 19 Jul 2021 08:44:49 +0200] rev 47739
narrow: use `update_file` instead of `normallookup` after update
This is the newer, more semantic API.
Differential Revision: https://phab.mercurial-scm.org/D11181
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 19 Jul 2021 15:34:17 +0200] rev 47738
test: use the internal `_normallookup` in `test-rebuildstate.t`
This is a low level test doing low level manipulation.
Differential Revision: https://phab.mercurial-scm.org/D11180
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 19 Jul 2021 01:59:09 +0200] rev 47737
sparse: use `update_file` instead of `normallookup` in refreshwdir
This is the newer, more semantic API.
Differential Revision: https://phab.mercurial-scm.org/D11179
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 19 Jul 2021 02:05:29 +0200] rev 47736
keyword: use `update_file_p1` instead of `normallookup`
This is the newer, more semantic API.
Differential Revision: https://phab.mercurial-scm.org/D11178
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 19 Jul 2021 05:41:32 +0200] rev 47735
fix: use `set_possibly_dirty` instead of `normallookup`
This is the newer, more semantic API.
Differential Revision: https://phab.mercurial-scm.org/D11177
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 19 Jul 2021 05:41:02 +0200] rev 47734
eol: use `set_possibly_dirty` instead of `normallookup`
This is the newer, more semantic API.
Differential Revision: https://phab.mercurial-scm.org/D11176
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 18 Jul 2021 22:50:02 +0200] rev 47733
mq: replace `normallookup` call with newer API
This align MQ behavior with what what `scmutil.movedirstate` does. (it should
probably use `scmutil.movedirstate` itself.
Differential Revision: https://phab.mercurial-scm.org/D11175
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 19 Jul 2021 03:52:54 +0200] rev 47732
revert: use `set_possibly_dirty` instead of `normallookup`
This is the newer, more semantic API.
Differential Revision: https://phab.mercurial-scm.org/D11174
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 19 Jul 2021 14:02:58 +0200] rev 47731
dirstate: enforce `possibly_dirty` in `set_tracked`
There is some usecase (like `hg revert`) that requires more agressive
`possibly_dirty` setting. So we take a safe path and enforce it in one of the
main `normallookup` replacement.
Differential Revision: https://phab.mercurial-scm.org/D11173
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 19 Jul 2021 01:17:56 +0200] rev 47730
record: use `update_file` instead of `normallookup`
We are cheating a bit to enforce we are in a pending change context. This will
have to be cleaned up later.
The end goal is reached, we are now using the newer, more semantic API.
Differential Revision: https://phab.mercurial-scm.org/D11172
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 19 Jul 2021 05:43:43 +0200] rev 47729
copy: use `set_tracked` instead of `normallookup` in `dirstatecopy`
This is the newer, more semantic API.
Differential Revision: https://phab.mercurial-scm.org/D11171
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 19 Jul 2021 01:18:23 +0200] rev 47728
amend: use `update_file` instead of `normallookup`
This is the newer, more semantic API.
Differential Revision: https://phab.mercurial-scm.org/D11170
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 19 Jul 2021 05:45:22 +0200] rev 47727
mergestate: use `update_file` to handle for `ACTION_EXEC`
This is the newer, more semantic API.
Differential Revision: https://phab.mercurial-scm.org/D11169
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 19 Jul 2021 05:44:57 +0200] rev 47726
mergestate: use `update_file` to handle for `ACTION_ADD_MODIFIED`
This is the newer, more semantic API.
Differential Revision: https://phab.mercurial-scm.org/D11168
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 19 Jul 2021 05:47:54 +0200] rev 47725
largefile: use `update_file` for `synclfdirstate` "m" case
This is the newer, more semantic API.
Differential Revision: https://phab.mercurial-scm.org/D11167
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 19 Jul 2021 05:47:33 +0200] rev 47724
largefile: use `update_file` for `synclfdirstate` "n" case
This is the newer, more semantic API.
Differential Revision: https://phab.mercurial-scm.org/D11166
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 19 Jul 2021 02:44:11 +0200] rev 47723
largefile: replace the `normallookup` call when creating a new lfdirstate
This is the newer, more semantic API.
Differential Revision: https://phab.mercurial-scm.org/D11165
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 19 Jul 2021 05:46:16 +0200] rev 47722
largefile: use `update_file` instead of `normallookup` in `updatelfiles`
This is the newer, more semantic API.
Differential Revision: https://phab.mercurial-scm.org/D11164
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 18 Jul 2021 23:43:08 +0200] rev 47721
largefile: use `set_possibly_dirty` instead of `normallookup`
Differential Revision: https://phab.mercurial-scm.org/D11163
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 18 Jul 2021 23:42:22 +0200] rev 47720
dirstate: add a `set_possibly_dirty` method
This method will be able to replace some usage of `normallookup` in the future.
Differential Revision: https://phab.mercurial-scm.org/D11162
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 19 Jul 2021 00:29:36 +0200] rev 47719
dirstate: deprecate the `normal` method in all cases
All code have been migrated to the new APIs.
Differential Revision: https://phab.mercurial-scm.org/D11161
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 19 Jul 2021 06:44:08 +0200] rev 47718
test: use `set_tracked` in `test-context`
This is apparently the last user of the old API.
Differential Revision: https://phab.mercurial-scm.org/D11160
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 18 Jul 2021 22:49:26 +0200] rev 47717
mq: replace usage of `normal` with newer API
Differential Revision: https://phab.mercurial-scm.org/D11159
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 19 Jul 2021 02:46:09 +0200] rev 47716
largefile: use `update_file` instead of `normal` in `synclfdirstate`
This is the newer, more semantic API.
This was the last call to `normal` in largefile.
Differential Revision: https://phab.mercurial-scm.org/D11158
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 19 Jul 2021 02:40:51 +0200] rev 47715
largefile: use `set_clean` instead of `normal` in `repo.status`
This is the newer, more semantic API.
Differential Revision: https://phab.mercurial-scm.org/D11157
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 19 Jul 2021 02:39:35 +0200] rev 47714
largefile: use `set_clean` instead of `normal` in `lfdirstatestatus`
This is the newer, more semantic API.
Differential Revision: https://phab.mercurial-scm.org/D11156
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 19 Jul 2021 02:39:01 +0200] rev 47713
largefile: use `update_file` instead of `normal` in `updatelfiles`
This is the newer, more semantic API.
Differential Revision: https://phab.mercurial-scm.org/D11155
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 19 Jul 2021 02:38:40 +0200] rev 47712
largefile: respect the `normal` signature
The `parentfiledata` parameter was missing, we throw it away because I am not sure what to do with it in the largefile case.
Differential Revision: https://phab.mercurial-scm.org/D11154
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 19 Jul 2021 02:05:24 +0200] rev 47711
keyword: use `set_clean` instead of `normal`
This is the newer, more semantic API.
Differential Revision: https://phab.mercurial-scm.org/D11153
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 19 Jul 2021 01:58:34 +0200] rev 47710
sparse: use `update_file` instead of `normal` in `refreshwdir`
This is the newer, more semantic API.
Differential Revision: https://phab.mercurial-scm.org/D11152
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 19 Jul 2021 01:58:24 +0200] rev 47709
sparse: use `update_file` instead of `normal` during `applyupdates`
This is the newer, more semantic API.
(more content end up "nonnormal", see previous commit)
Differential Revision: https://phab.mercurial-scm.org/D11151
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 19 Jul 2021 04:26:06 +0200] rev 47708
sparse: apply update with in a `parentchange` context
We are changing the reference so we should be within such context manager.
This seems make the actual dirstate content a bit flaky with content being
sometime ambigous (but maybe it was flaky before?)
So I increased the matching.
Differential Revision: https://phab.mercurial-scm.org/D11150
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 19 Jul 2021 03:52:20 +0200] rev 47707
revert: use `set_clean` instead of `normal`
This is the newer, more semantic API.
Differential Revision: https://phab.mercurial-scm.org/D11149
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 19 Jul 2021 03:15:57 +0200] rev 47706
context: use `update_file` instead of `normal` in `markcommitted`
This is the newer, more semantic API.
Differential Revision: https://phab.mercurial-scm.org/D11148
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 19 Jul 2021 01:44:24 +0200] rev 47705
context: use new API instead of `normal` during fixup post status
We use `set_clean` or `update_file` depending of if we are in the middle of an
update or not.
Differential Revision: https://phab.mercurial-scm.org/D11147
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 19 Jul 2021 00:47:59 +0200] rev 47704
dirstate: introduce a `set_clean` method
This will provide a good alternative to `normal` call with a narrower semantic.
Differential Revision: https://phab.mercurial-scm.org/D11146
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 19 Jul 2021 00:04:24 +0200] rev 47703
largefile: use `update_file` instead of `normal`
This is the newer, more semantic API.
Differential Revision: https://phab.mercurial-scm.org/D11145
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 19 Jul 2021 00:05:47 +0200] rev 47702
largefile: adjust the dirstate post update within a `parentchange` context
This is doing an update, so this seems more appropriate. No other change have been made, but the next changeset will :-)
Differential Revision: https://phab.mercurial-scm.org/D11144
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 16 Jul 2021 14:06:32 +0200] rev 47701
dirstate: deprecate `dirstate.remove` in all cases
This will make sure that code will use the newer, more semantic API sooner than
later.
Differential Revision: https://phab.mercurial-scm.org/D11143
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 19 Jul 2021 03:20:28 +0200] rev 47700
largefile: use `update_file` instead of `remove` in `synclfdirstate`
This is the newer, more semantic API.
Differential Revision: https://phab.mercurial-scm.org/D11142
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 19 Jul 2021 03:25:21 +0200] rev 47699
largefile: rearrange conditionnal in `synclfdirstate`
We can liquidate the special case early, so do we.
Differential Revision: https://phab.mercurial-scm.org/D11141
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 19 Jul 2021 03:20:04 +0200] rev 47698
largefile: use `update_file` instead of `remove` in `mergerecordupdates`
This is the newer, more semantic API.
Differential Revision: https://phab.mercurial-scm.org/D11140
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 17 Jul 2021 00:15:31 +0200] rev 47697
mq: use `update_file_p1` instead of `remove` when adjusting dirstate
This is the new API.
Differential Revision: https://phab.mercurial-scm.org/D11139
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 19 Jul 2021 04:43:28 +0200] rev 47696
dirstate: properly update `_lastnormaltime` in `update_file_p1`
This was previously overlooked.
Differential Revision: https://phab.mercurial-scm.org/D11138
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 19 Jul 2021 04:43:14 +0200] rev 47695
dirstate: properly update `_lastnormaltime` in `update_file`
This was previously overlooked.
Differential Revision: https://phab.mercurial-scm.org/D11137
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 15 Jul 2021 04:55:57 +0200] rev 47694
dirstate: use `reset_state` in `update_file_p1`
Going through the same API is more consistent and allow us to push
implementation lower down the call stack.
Differential Revision: https://phab.mercurial-scm.org/D11136
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 15 Jul 2021 04:34:51 +0200] rev 47693
dirstate: rename `update_file_reference` to `update_file_p1`
This is a bit clearer on the intended usage of the function. (but still not great)
Differential Revision: https://phab.mercurial-scm.org/D11135
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 19 Jul 2021 07:23:55 +0200] rev 47692
dirstate-map: move most of `dirstate.update_file` logic in the dsmap
A new `reset_state` method is introduced to deal with most of that logic. This
move things one layer lower, but the ultimate goal is to deal with most of this
at the DirstateItem level.
This reveal various imperfection with the data passed to update_file by
`mergestate.recordupdates`, however this is orthogonal to this patch and should
be dealt with at a higher level.
Differential Revision: https://phab.mercurial-scm.org/D11134
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 16 Jul 2021 22:30:11 +0200] rev 47691
dirstate: replace `update_parent_file_data` with simpler `update_parent` call
This make the dirstate API simpler.
Differential Revision: https://phab.mercurial-scm.org/D11133
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 16 Jul 2021 15:07:16 +0200] rev 47690
dirstate: factor out the part retrieve "filedata" out of `normal`
We will need them elsewhere.
Differential Revision: https://phab.mercurial-scm.org/D11132
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 15 Jul 2021 02:19:41 +0200] rev 47689
dirstate-map: factor out the change to _dirs and _alldirs on removing
This logic is complicated enough to deserves its own function. So it now does.
This will make it easier to reuse that logic in later changeset.
Differential Revision: https://phab.mercurial-scm.org/D11131
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 15 Jul 2021 01:58:50 +0200] rev 47688
dirstate-map: factor out the change to _dirs and _alldirs on dropping
This logic is complicated enough to deserves its own function. So it now does.
This will make it easier to reuse that logic in later changeset.
Differential Revision: https://phab.mercurial-scm.org/D11130
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 15 Jul 2021 01:58:31 +0200] rev 47687
dirstate-map: factor out the change to _dirs and _alldirs on adding
This logic is complicated enough to deserves its own function. So it now does.
This will make it easier to reuse that logic in later changeset.
Differential Revision: https://phab.mercurial-scm.org/D11129
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 14 Jul 2021 22:06:13 +0200] rev 47686
dirstate-item: introduce a `dm_otherparent` property
See inline documentation for details.
Differential Revision: https://phab.mercurial-scm.org/D11124
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 14 Jul 2021 21:59:18 +0200] rev 47685
dirstate-item: introduce a `dm_nonnormal` property
See inline documentation for details.
Differential Revision: https://phab.mercurial-scm.org/D11123
Simon Sapin <simon.sapin@octobus.net> [Fri, 16 Jul 2021 16:19:31 +0200] rev 47684
dirstate-v2: Reserve a few bytes of space for future extensions
See doc-comment
Differential Revision: https://phab.mercurial-scm.org/D11101
Simon Sapin <simon.sapin@octobus.net> [Fri, 16 Jul 2021 14:08:26 +0200] rev 47683
dirstate-v2: Separate iterators for dirfoldmap and debugdirstate
`dirstatemap.dirfoldmap` was recently changed to re-use a Rust iterator
that was added for the `hg debugdirstate` command.
That iterator was based on all nodes in the tree dirstate without an entry
only existing to hold child nodes, and therefore being directories.
However to optimize status further we may want to store additional nodes
for unknown or ignored files and directories. At that point the two users
of this iterator will want different things, so let’s make two iterators
instead.
See doc-comments in `dispatch.rs`.
Differential Revision: https://phab.mercurial-scm.org/D11099