Fri, 01 Oct 2021 04:04:09 +0200 dirstate-item: introduce a `p2_info` property that combine two others
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 01 Oct 2021 04:04:09 +0200] rev 48154
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
Fri, 01 Oct 2021 02:01:12 +0200 dirstate: narrow gathering of parent data
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 01 Oct 2021 02:01:12 +0200] rev 48153
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
Fri, 01 Oct 2021 01:27:53 +0200 dirstate: align the dirstatemap's API to the data change
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 01 Oct 2021 01:27:53 +0200] rev 48152
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
Fri, 01 Oct 2021 18:49:33 +0200 dirstate-v2: Store a bitfield on disk instead of v1-like state
Simon Sapin <simon.sapin@octobus.net> [Fri, 01 Oct 2021 18:49:33 +0200] rev 48151
dirstate-v2: Store a bitfield on disk instead of v1-like state Differential Revision: https://phab.mercurial-scm.org/D11558
Fri, 01 Oct 2021 20:35:30 +0200 dirstate-item: change the internal storage and constructor value
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 01 Oct 2021 20:35:30 +0200] rev 48150
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
Sat, 02 Oct 2021 11:39:57 +0200 dirstatemap: drop legacy method on the dirstatemap wrapper
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 02 Oct 2021 11:39:57 +0200] rev 48149
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
Sat, 02 Oct 2021 00:15:24 +0200 dirstatemap: align the Rust wrapper implementation of `setparent`
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 02 Oct 2021 00:15:24 +0200] rev 48148
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
Sat, 02 Oct 2021 00:44:17 +0200 dirstatemap: fix copymap.pop in Rust to return the value it pops
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 02 Oct 2021 00:44:17 +0200] rev 48147
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
Sat, 02 Oct 2021 00:14:32 +0200 dirstate-item: implement `drop_merge_data` on the Rust DirstateItem
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 02 Oct 2021 00:14:32 +0200] rev 48146
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
Sat, 02 Oct 2021 00:02:55 +0200 dirstatemap: use a common implement for reset_state
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 02 Oct 2021 00:02:55 +0200] rev 48145
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
Sat, 02 Oct 2021 00:01:56 +0200 dirstatemap: add a common `_drop_entry` method for dirstatemap
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 02 Oct 2021 00:01:56 +0200] rev 48144
dirstatemap: add a common `_drop_entry` method for dirstatemap This method is called to remove DirstateItem from the map. Each variant have a different implementation (which is … the point). Differential Revision: https://phab.mercurial-scm.org/D11577
Fri, 01 Oct 2021 23:49:40 +0200 dirstatemap: use common code for set_clean
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 01 Oct 2021 23:49:40 +0200] rev 48143
dirstatemap: use common code for set_clean Same logic before this make sure both implementation use the same logic for this. Differential Revision: https://phab.mercurial-scm.org/D11576
Fri, 01 Oct 2021 23:42:24 +0200 dirstatemap: use common code for set_possibly_dirty
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 01 Oct 2021 23:42:24 +0200] rev 48142
dirstatemap: use common code for set_possibly_dirty Same logic before this make sure both implementation use the same logic for this. Differential Revision: https://phab.mercurial-scm.org/D11575
Fri, 01 Oct 2021 23:24:01 +0200 dirstatemap: use a common implement for set_tracked
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 01 Oct 2021 23:24:01 +0200] rev 48141
dirstatemap: use a common implement for set_tracked Same logic as for `set_untracked` this make sure both implementation use the same logic for this. Differential Revision: https://phab.mercurial-scm.org/D11574
Fri, 01 Oct 2021 23:13:44 +0200 dirstatemap: add a common `_insert_entry` method for dirstatemap
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 01 Oct 2021 23:13:44 +0200] rev 48140
dirstatemap: add a common `_insert_entry` method for dirstatemap This method is called to add a new DirstateItem to the map. Each variant have a different implementation (which is … the point). Differential Revision: https://phab.mercurial-scm.org/D11573
Fri, 01 Oct 2021 19:14:09 +0200 dirstatemap: use a common implementation for `dirstatemap.set_untracked`
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 01 Oct 2021 19:14:09 +0200] rev 48139
dirstatemap: use a common implementation for `dirstatemap.set_untracked` We can now make sure they use the same code, and drop the older, out of sync, implementation of `set_untracked` for the rust wrapper. Differential Revision: https://phab.mercurial-scm.org/D11572
Fri, 01 Oct 2021 18:54:40 +0200 dirstatemap: add a common `_refresh_entry` method for dirstatemap
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 01 Oct 2021 18:54:40 +0200] rev 48138
dirstatemap: add a common `_refresh_entry` method for dirstatemap This method is called once a DirstateItem have been modified to apply the change on the dirstatemap if necessary. Each variant have a different implementation (which is … the point). We use `addfile` for the rustmap and not `set_dirstate_item` because we need to keep the internal counter up to date and `set_dirstate_item` does not do it. Differential Revision: https://phab.mercurial-scm.org/D11571
Fri, 01 Oct 2021 18:52:26 +0200 dirstatemap: create `_dirs_incr/_dirs_decr` methods on the common class
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 01 Oct 2021 18:52:26 +0200] rev 48137
dirstatemap: create `_dirs_incr/_dirs_decr` methods on the common class The Rust wrapper does not need them. However having a default, no-op, implementation will help use to write code used by both implementation. Differential Revision: https://phab.mercurial-scm.org/D11570
Fri, 01 Oct 2021 18:49:21 +0200 dirstatemap: small rework of the `set_untracked` method
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 01 Oct 2021 18:49:21 +0200] rev 48136
dirstatemap: small rework of the `set_untracked` method This shuffle the code a bit to have it flowing more "naturally". This will help us to create a common version of this code in the next changesets. Differential Revision: https://phab.mercurial-scm.org/D11569
Sat, 02 Oct 2021 12:10:46 +0200 dirstatemap: arrange methods by category
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 02 Oct 2021 12:10:46 +0200] rev 48135
dirstatemap: arrange methods by category The dirstatemap code cover various aspects, it grow a bit messy over the years. So we shuffle the code around into some documented categories. This will help use to clean up the code. No code was changed in this changeset, only code move. Differential Revision: https://phab.mercurial-scm.org/D11568
Sat, 02 Oct 2021 12:01:50 +0200 dirstatemap: move a multiple simple functions in the common class
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 02 Oct 2021 12:01:50 +0200] rev 48134
dirstatemap: move a multiple simple functions in the common class These are small and simple, lets factor them out. Differential Revision: https://phab.mercurial-scm.org/D11567
Fri, 01 Oct 2021 17:10:24 +0200 dirstatemap: rename `_rustmap` to `_map`
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 01 Oct 2021 17:10:24 +0200] rev 48133
dirstatemap: rename `_rustmap` to `_map` This match the name of the `map` for the other implementation and will make it simpler to share code between the two. Differential Revision: https://phab.mercurial-scm.org/D11566
Fri, 01 Oct 2021 16:52:44 +0200 dirstatemap: use a common __init__ for dirstatemap
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 01 Oct 2021 16:52:44 +0200] rev 48132
dirstatemap: use a common __init__ for dirstatemap This is the first and simplest things to put in common. Differential Revision: https://phab.mercurial-scm.org/D11565
Fri, 01 Oct 2021 16:14:29 +0200 dirstatemap: introduce a common base for the dirstatemap class
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 01 Oct 2021 16:14:29 +0200] rev 48131
dirstatemap: introduce a common base for the dirstatemap class We have two dirstatemaps class. One for the python version of the dirstate map and one for the Rust version (that has a python wrapper to deal with some aspect of it). We end up with duplicated code between them, so we introduce a common base class to start migrating common code in them. Differential Revision: https://phab.mercurial-scm.org/D11564
Tue, 28 Sep 2021 15:11:22 -0700 errors: raise InputError from revsingle() iff revset provided by the user
Martin von Zweigbergk <martinvonz@google.com> [Tue, 28 Sep 2021 15:11:22 -0700] rev 48130
errors: raise InputError from revsingle() iff revset provided by the user Same reasoning as for `revrange()` in an earlier patch. Differential Revision: https://phab.mercurial-scm.org/D11562
Tue, 28 Sep 2021 13:59:01 -0700 errors: raise InputError from revpair() iff revset provided by the user
Martin von Zweigbergk <martinvonz@google.com> [Tue, 28 Sep 2021 13:59:01 -0700] rev 48129
errors: raise InputError from revpair() iff revset provided by the user Same reasoning as for `revrange()` in an earlier patch. Differential Revision: https://phab.mercurial-scm.org/D11561
Tue, 28 Sep 2021 08:47:11 -0700 errors: raise InputError on bad revset to revrange() iff provided by the user
Martin von Zweigbergk <martinvonz@google.com> [Tue, 28 Sep 2021 08:47:11 -0700] rev 48128
errors: raise InputError on bad revset to revrange() iff provided by the user Most callers of `scmutil.revrange()` pass in a revset provided by the user. If there are problems resolving that, it should result in an `InputError` and exit code 10 (when using detailed exit codes). However, there are also some callers that pass in revsets not provided by the user. `InputError` is not appropriate in those cases. This patch therefore introduces a wrapper around `scmutil.revrange()` that simply converts the exception type. I put it in `logcmdutil.py` since that seems to be the lowest-level module in the (poorly defined) UI layer. Differential Revision: https://phab.mercurial-scm.org/D11560
Tue, 28 Sep 2021 09:08:43 -0700 phase: avoid a no-op resolution of revset from revnums
Martin von Zweigbergk <martinvonz@google.com> [Tue, 28 Sep 2021 09:08:43 -0700] rev 48127
phase: avoid a no-op resolution of revset from revnums I was surprised that `scmutil.revrange()` supports integers in the list of revsets. I think it's clearer to not pass a list that's known to contain only integers into the function. Differential Revision: https://phab.mercurial-scm.org/D11559
Fri, 01 Oct 2021 15:19:37 +0200 dirstate: push back the future a bit in the test
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 01 Oct 2021 15:19:37 +0200] rev 48126
dirstate: push back the future a bit in the test The future was set to 2021-01-01, we push it by 10 years.
Thu, 30 Sep 2021 18:07:31 +0200 dirstate-item: point out that `merged` is set only with p1_tracked
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 30 Sep 2021 18:07:31 +0200] rev 48125
dirstate-item: point out that `merged` is set only with p1_tracked This is currently True, and we will use this fact to simplify the API in the next commit. However, we add this assertion first to validate that this is True in the whole test-suite.
Wed, 29 Sep 2021 01:23:10 +0200 dirstate-item: update the attribute documentation
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 29 Sep 2021 01:23:10 +0200] rev 48124
dirstate-item: update the attribute documentation It was very outdated. We are about to change these attribute so we should has well have them documented so that the change get easier to grasp.
Fri, 01 Oct 2021 03:50:37 +0200 dirstate-item: use `any_tracked` more
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 01 Oct 2021 03:50:37 +0200] rev 48123
dirstate-item: use `any_tracked` more This simplify more code.
Fri, 01 Oct 2021 03:49:03 +0200 dirstate-item: drop an outdated comments
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 01 Oct 2021 03:49:03 +0200] rev 48122
dirstate-item: drop an outdated comments This comment is no longer relevant since we moved away from the `state` internal representation, multiple weeks ago.
Fri, 01 Oct 2021 00:00:29 +0200 dirstate: remove a update_file's special case for `merged` file
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 01 Oct 2021 00:00:29 +0200] rev 48121
dirstate: remove a update_file's special case for `merged` file This case was fishy and can be dealt with by passing more accurate data a higher level. This clarify the API and prepare for a larger rework of the data we feeds to the dirstate.
Thu, 30 Sep 2021 18:00:39 +0200 dirstate: remove a update_file's special case for tracked file with p2 data
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 30 Sep 2021 18:00:39 +0200] rev 48120
dirstate: remove a update_file's special case for tracked file with p2 data This case was fishy and can be dealt with by passing more accurate data a higher level. This clarify the API and prepare for a larger rework of the data we feeds to the dirstate.
Wed, 29 Sep 2021 02:34:32 +0200 dirstate: deprecate `__getitem__` access
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 29 Sep 2021 02:34:32 +0200] rev 48119
dirstate: deprecate `__getitem__` access If we want to drop `state` usage, we need to deprecate this. Differential Revision: https://phab.mercurial-scm.org/D11544
Wed, 29 Sep 2021 18:39:02 +0200 dirstate-item: use item's property instead of `state` in largefile
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 29 Sep 2021 18:39:02 +0200] rev 48118
dirstate-item: use item's property instead of `state` in largefile Differential Revision: https://phab.mercurial-scm.org/D11543
Wed, 29 Sep 2021 18:37:54 +0200 dirstate-item: use `added` instead of `state` when moving dirstate
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 29 Sep 2021 18:37:54 +0200] rev 48117
dirstate-item: use `added` instead of `state` when moving dirstate Differential Revision: https://phab.mercurial-scm.org/D11542
Wed, 29 Sep 2021 18:37:20 +0200 dirstate-item: use item's property instead of `state` in revert
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 29 Sep 2021 18:37:20 +0200] rev 48116
dirstate-item: use item's property instead of `state` in revert Differential Revision: https://phab.mercurial-scm.org/D11541
Wed, 29 Sep 2021 18:36:12 +0200 dirstate-item: use item's property when computing a copies
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 29 Sep 2021 18:36:12 +0200] rev 48115
dirstate-item: use item's property when computing a copies Differential Revision: https://phab.mercurial-scm.org/D11540
Wed, 29 Sep 2021 18:32:21 +0200 dirstate-item: use item's property instead of `state` in copy
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 29 Sep 2021 18:32:21 +0200] rev 48114
dirstate-item: use item's property instead of `state` in copy Differential Revision: https://phab.mercurial-scm.org/D11539
Wed, 29 Sep 2021 17:52:39 +0200 dirstate-item: use `added` in debugrebuilddirstate
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 29 Sep 2021 17:52:39 +0200] rev 48113
dirstate-item: use `added` in debugrebuilddirstate (instead of `state`) Differential Revision: https://phab.mercurial-scm.org/D11538
Wed, 29 Sep 2021 17:42:57 +0200 dirstate-item: use `maybe_clean` instead of `state` in record
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 29 Sep 2021 17:42:57 +0200] rev 48112
dirstate-item: use `maybe_clean` instead of `state` in record Differential Revision: https://phab.mercurial-scm.org/D11537
Wed, 29 Sep 2021 15:40:13 +0200 dirstate-item: use `any_tracked` instead of `state` to apply patches
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 29 Sep 2021 15:40:13 +0200] rev 48111
dirstate-item: use `any_tracked` instead of `state` to apply patches Differential Revision: https://phab.mercurial-scm.org/D11536
Wed, 29 Sep 2021 15:39:33 +0200 dirstate-item: use item's property instead of `state` in addremove
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 29 Sep 2021 15:39:33 +0200] rev 48110
dirstate-item: use item's property instead of `state` in addremove Differential Revision: https://phab.mercurial-scm.org/D11535
Wed, 29 Sep 2021 15:26:30 +0200 dirstate-item: use `tracked` instead of `state` during copy detection
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 29 Sep 2021 15:26:30 +0200] rev 48109
dirstate-item: use `tracked` instead of `state` during copy detection Differential Revision: https://phab.mercurial-scm.org/D11534
Wed, 29 Sep 2021 15:23:57 +0200 dirstate-item: use `maybe_clean` instead of `state` in `strip`
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 29 Sep 2021 15:23:57 +0200] rev 48108
dirstate-item: use `maybe_clean` instead of `state` in `strip` Differential Revision: https://phab.mercurial-scm.org/D11533
Wed, 29 Sep 2021 15:07:21 +0200 dirstate-item: use `tracked` instead of `state` in context.matches
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 29 Sep 2021 15:07:21 +0200] rev 48107
dirstate-item: use `tracked` instead of `state` in context.matches Differential Revision: https://phab.mercurial-scm.org/D11532
(0) -30000 -10000 -3000 -1000 -300 -100 -48 +48 +100 +300 +1000 +3000 tip