D11147: context: use new API instead of `normal` during fixup post status
marmoute (Pierre-Yves David)
phabricator at mercurial-scm.org
Mon Jul 19 10:44:00 UTC 2021
marmoute created this revision.
Herald added a reviewer: hg-reviewers.
Herald added a subscriber: mercurial-patches.
REVISION SUMMARY
We use `set_clean` or `update_file` depending of if we are in the middle of an
update or not.
REPOSITORY
rHG Mercurial
BRANCH
default
REVISION DETAIL
https://phab.mercurial-scm.org/D11147
AFFECTED FILES
mercurial/context.py
CHANGE DETAILS
diff --git a/mercurial/context.py b/mercurial/context.py
--- a/mercurial/context.py
+++ b/mercurial/context.py
@@ -1838,9 +1838,15 @@
# wlock can invalidate the dirstate, so cache normal _after_
# taking the lock
with self._repo.wlock(False):
- if self._repo.dirstate.identity() == oldid:
+ dirstate = self._repo.dirstate
+ if dirstate.identity() == oldid:
if fixup:
- normal = self._repo.dirstate.normal
+ if dirstate.pendingparentchange():
+ normal = lambda f: dirstate.update_file(
+ f, p1_tracked=True, wc_tracked=True
+ )
+ else:
+ normal = dirstate.set_clean
for f in fixup:
normal(f)
# write changes out explicitly, because nesting
To: marmoute, #hg-reviewers
Cc: mercurial-patches, mercurial-devel
More information about the Mercurial-devel
mailing list