D11428: dirstate: inline the last two `_drop` usage
marmoute (Pierre-Yves David)
phabricator at mercurial-scm.org
Thu Sep 16 14:43:39 UTC 2021
marmoute created this revision.
Herald added a reviewer: hg-reviewers.
Herald added a subscriber: mercurial-patches.
REVISION SUMMARY
The function is small and having the associated code directly inline help use to cleanup the dirstate API.
REPOSITORY
rHG Mercurial
BRANCH
default
REVISION DETAIL
https://phab.mercurial-scm.org/D11428
AFFECTED FILES
hgext/largefiles/lfcommands.py
mercurial/dirstate.py
tests/test-rebuildstate.t
CHANGE DETAILS
diff --git a/tests/test-rebuildstate.t b/tests/test-rebuildstate.t
--- a/tests/test-rebuildstate.t
+++ b/tests/test-rebuildstate.t
@@ -19,7 +19,8 @@
> if opts.get('normal_lookup'):
> repo.dirstate._normallookup(file)
> else:
- > repo.dirstate._drop(file)
+ > repo.dirstate._map.dropfile(file)
+ > repo.dirstate._dirty = True
>
> repo.dirstate.write(repo.currenttransaction())
> finally:
diff --git a/mercurial/dirstate.py b/mercurial/dirstate.py
--- a/mercurial/dirstate.py
+++ b/mercurial/dirstate.py
@@ -560,7 +560,9 @@
possibly_dirty = True
elif not (p1_tracked or wc_tracked):
# the file is no longer relevant to anyone
- self._drop(filename)
+ if self._map.dropfile(filename):
+ self._dirty = True
+ self._updatedfiles.add(filename)
elif (not p1_tracked) and wc_tracked:
if entry is not None and entry.added:
return # avoid dropping copy information (maybe?)
@@ -742,12 +744,6 @@
self._addpath(f, possibly_dirty=True)
self._map.copymap.pop(f, None)
- def _drop(self, filename):
- """internal function to drop a file from the dirstate"""
- if self._map.dropfile(filename):
- self._dirty = True
- self._updatedfiles.add(filename)
-
def _discoverpath(self, path, normed, ignoremissing, exists, storemap):
if exists is None:
exists = os.path.lexists(os.path.join(self._root, path))
@@ -860,7 +856,8 @@
for f in to_lookup:
self._normallookup(f)
for f in to_drop:
- self._drop(f)
+ if self._map.dropfile(f):
+ self._updatedfiles.add(f)
self._dirty = True
diff --git a/hgext/largefiles/lfcommands.py b/hgext/largefiles/lfcommands.py
--- a/hgext/largefiles/lfcommands.py
+++ b/hgext/largefiles/lfcommands.py
@@ -577,7 +577,7 @@
repo.wvfs.unlinkpath(lfutil.standin(f))
# This needs to happen for dropped files, otherwise they stay in
# the M state.
- lfdirstate._drop(f)
+ lfdirstate._map.dropfile(f)
statuswriter(_(b'getting changed largefiles\n'))
cachelfiles(ui, repo, None, lfiles)
To: marmoute, #hg-reviewers
Cc: mercurial-patches, mercurial-devel
More information about the Mercurial-devel
mailing list