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 _______________________________________________ Mercurial-devel mailing list Mercurial-devel@mercurial-scm.org https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel