Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 01 Oct 2021 09:28:19 +0200] rev 48162
dirstate-item: replace a call to new_normal
The constructor is on its way out, so we inline a relevant call before
dropping it.
Differential Revision: https://phab.mercurial-scm.org/D11606
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 01 Oct 2021 09:25:13 +0200] rev 48161
dirstate-item: drop the legacy new_possibly_dirty constructor
Nobody is calling it anymore. Its purposes has been filled.
Differential Revision: https://phab.mercurial-scm.org/D11605
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 01 Oct 2021 09:24:48 +0200] rev 48160
dirstate-item: replace call to new_possibly_dirty
The constructor is on its way out, so we inline the last relevant call before
dropping it.
Differential Revision: https://phab.mercurial-scm.org/D11604
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 01 Oct 2021 09:23:28 +0200] rev 48159
dirstate-item: drop the legacy new_from_p2 constructor
Nobody is calling it anymore. Its purposes has been filled.
Differential Revision: https://phab.mercurial-scm.org/D11603
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 01 Oct 2021 09:21:52 +0200] rev 48158
dirstate-item: replace call to new_from_p2
The constructor is on its way out, so we inline the last relevant call before
dropping it.
Differential Revision: https://phab.mercurial-scm.org/D11602
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 01 Oct 2021 09:16:53 +0200] rev 48157
dirstate-item: drop the legacy new_added constructor
Nobody is calling it anymore. Its purposes has been filled.
Differential Revision: https://phab.mercurial-scm.org/D11601
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 01 Oct 2021 09:15:03 +0200] rev 48156
dirstate-item: replace call to new_added
The constructor is on its way out, so we inline the last relevant call before
dropping it.
Differential Revision: https://phab.mercurial-scm.org/D11600
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 01 Oct 2021 09:14:10 +0200] rev 48155
dirstate-item: drop the legacy new_merged constructor
Nobody is calling it anymore. Its purposes has been filled.
Differential Revision: https://phab.mercurial-scm.org/D11599
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 01 Oct 2021 09:12:52 +0200] rev 48154
dirstate-item: replace call to new_merged
The constructor is on its way out, so we inline the last relevant call before
dropping it.
Differential Revision: https://phab.mercurial-scm.org/D11598
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 01 Oct 2021 03:30:00 +0200] rev 48153
dirstate-item: drop the `merged` property
It has no user anymore.
Differential Revision: https://phab.mercurial-scm.org/D11597
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 01 Oct 2021 03:29:33 +0200] rev 48152
dirstate-item: replace another usage of `merged`
We simply spell out the logic here. This was the last usage of `merged`.
Differential Revision: https://phab.mercurial-scm.org/D11596
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 01 Oct 2021 03:28:01 +0200] rev 48151
dirstate-item: replace a `merged` usage with `p2_info`
It seems more accurate and no test complains (XXX hopefully XXX).
Differential Revision: https://phab.mercurial-scm.org/D11595
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 01 Oct 2021 03:26:12 +0200] rev 48150
dirstate-item: drop the `from_p2` property
It has no user anymore.
Differential Revision: https://phab.mercurial-scm.org/D11594
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 01 Oct 2021 03:24:57 +0200] rev 48149
dirstate-item: directly use `p2_info` in `v1_size`
This is simpler.
Differential Revision: https://phab.mercurial-scm.org/D11593
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 01 Oct 2021 04:04:38 +0200] rev 48148
dirstate-item: use the `p2_info` property to replace more verbose call
Differential Revision: https://phab.mercurial-scm.org/D11592
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 29 Sep 2021 02:06:04 +0200] rev 48147
status: process `from_p2` file the same as `merged` one
What matters here is that the file constains information coming from the second
parent and should be considered `modified` on plain `hg status.
So we can process `from_p2` file sooner. It also highlight that we probably
don't need the merged/from_p2 distinction at higher level.
Differential Revision: https://phab.mercurial-scm.org/D11591
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 01 Oct 2021 02:43:39 +0200] rev 48146
dirstate: drop an incorrect comment
We are actually checking that we are only in a case were the file might needs
lookup before doing this. So the comment is not relevant.
Differential Revision: https://phab.mercurial-scm.org/D11590
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 01 Oct 2021 01:45:20 +0200] rev 48145
dirstate: drop some duplicated code
The same operation is done a handful a line lower.
Differential Revision: https://phab.mercurial-scm.org/D11589
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 30 Sep 2021 16:33:12 +0200] rev 48144
dirstate: align the dirstate's API to the lower level ones
This conclude the refactoring of this API. We can now finalize the dirstate v2
on disk format.
Differential Revision: https://phab.mercurial-scm.org/D11587
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 01 Oct 2021 04:07:21 +0200] rev 48143
dirstate-item: introduce a `p1_tracked` property
It is useful to simplify various conditional that use `any_tracked and not
added`.
Differential Revision: https://phab.mercurial-scm.org/D11586
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 01 Oct 2021 04:04:09 +0200] rev 48142
dirstate-item: introduce a `p2_info` property that combine two others
The `merged` and `from_p2` property are always used together so we can expose a
combined property instead.
Differential Revision: https://phab.mercurial-scm.org/D11585
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 01 Oct 2021 02:01:12 +0200] rev 48141
dirstate: narrow gathering of parent data
The parent data are only going to be useful is the file might be clean. And it
might only be clean if it is tracked in both p1 and the working copy.
Differential Revision: https://phab.mercurial-scm.org/D11584
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 01 Oct 2021 01:27:53 +0200] rev 48140
dirstate: align the dirstatemap's API to the data change
We are passing different data, so lets simplify the dirstatemap API too.
Differential Revision: https://phab.mercurial-scm.org/D11583
Simon Sapin <simon.sapin@octobus.net> [Fri, 01 Oct 2021 18:49:33 +0200] rev 48139
dirstate-v2: Store a bitfield on disk instead of v1-like state
Differential Revision: https://phab.mercurial-scm.org/D11558
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 01 Oct 2021 20:35:30 +0200] rev 48138
dirstate-item: change the internal storage and constructor value
This should be closer to what we do need and what we can actually reliably
record.
In practice it means that we abandon the prospect of storing much more refined
data for now. We don't have the necessary information nor code using it right
now. So it seems safer to just use a clearer version of what we had so far.
See the documentation changes for details.
Differential Revision: https://phab.mercurial-scm.org/D11557
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 02 Oct 2021 11:39:57 +0200] rev 48137
dirstatemap: drop legacy method on the dirstatemap wrapper
They are no longer in use now that the Rust wrapper version of the Dirstatemap
are back in line with the Python one.
Differential Revision: https://phab.mercurial-scm.org/D11582
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 02 Oct 2021 00:15:24 +0200] rev 48136
dirstatemap: align the Rust wrapper implementation of `setparent`
We move to using `drop_merge_data` as intended.
Differential Revision: https://phab.mercurial-scm.org/D11581
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 02 Oct 2021 00:44:17 +0200] rev 48135
dirstatemap: fix copymap.pop in Rust to return the value it pops
I guess this was overlooked in the initial implementation?
Without this, the next patch would, loose copy information in setparent.
Differential Revision: https://phab.mercurial-scm.org/D11580
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 02 Oct 2021 00:14:32 +0200] rev 48134
dirstate-item: implement `drop_merge_data` on the Rust DirstateItem
It was currently missing and we want to be able to use in it the Rust case too.
Differential Revision: https://phab.mercurial-scm.org/D11579
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 02 Oct 2021 00:02:55 +0200] rev 48133
dirstatemap: use a common implement for reset_state
Same logic as for `set_untracked` this make sure both implementation are aligned.
The `reset_state` implementation for the Rust wrapped had signicantly diverged,
this change finally put it back in line.
Differential Revision: https://phab.mercurial-scm.org/D11578