# HG changeset patch # User Pierre-Yves David # Date 1560343372 -3600 # Wed Jun 12 13:42:52 2019 +0100 # Node ID 961d24dfe801ac0c5ad5737d98d553075cef4089 # Parent f6b2517c3651915610cee753ff8351e90078685d # EXP-Topic extrameta # Available At https://bitbucket.org/octobus/mercurial-devel/ # hg pull https://bitbucket.org/octobus/mercurial-devel/ -r 961d24dfe801 copies: extract an explicit `computechangesetfilesremoved` method from context Right now, the logic around changeset centric removed files data are buried into the "changectx" code. We extract this code in a dedicated method (in the copies module) for clarity. This clarity will help to explicitly compute and caches these data in the future. diff --git a/mercurial/context.py b/mercurial/context.py --- a/mercurial/context.py +++ b/mercurial/context.py @@ -466,12 +466,7 @@ class changectx(basectx): (source == 'compatibility' and self._changeset.filesremoved is not None)): return self._changeset.filesremoved or [] - - removed = [] - for f in self.files(): - if f not in self: - removed.append(f) - return removed + return scmutil.computechangesetfilesremoved(self) @propertycache def _copies(self): diff --git a/mercurial/scmutil.py b/mercurial/scmutil.py --- a/mercurial/scmutil.py +++ b/mercurial/scmutil.py @@ -1993,3 +1993,12 @@ def computechangesetfilesadded(ctx): if not any(f in p for p in ctx.parents()): added.append(f) return added + +def computechangesetfilesremoved(ctx): + """return the list of files removed in a changeset + """ + removed = [] + for f in ctx.files(): + if f not in ctx: + removed.append(f) + return removed _______________________________________________ Mercurial-devel mailing list Mercurial-devel@mercurial-scm.org https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel