From patchwork Thu Dec 18 17:45:18 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: context: return dirstate parents in workingctx.ancestors() From: Durham Goode X-Patchwork-Id: 7169 Message-Id: To: Date: Thu, 18 Dec 2014 09:45:18 -0800 # HG changeset patch # User Durham Goode # Date 1418924234 28800 # Thu Dec 18 09:37:14 2014 -0800 # Node ID f0a39e33fba30ad436c82dc556b9fbcbc038d3d0 # Parent 3f86fe9bcef0b67d1e5149e66630e46cb515ea90 context: return dirstate parents in workingctx.ancestors() workingctx.ancestors() was not returning the dirstate parents as part of the result set. The only place this function is used is for copy detection when committing a file, and that code already checks the parents manually, so this change has no affect at the moment. I found it while playing around with changing how copy detection works. diff --git a/mercurial/context.py b/mercurial/context.py --- a/mercurial/context.py +++ b/mercurial/context.py @@ -1160,6 +1160,8 @@ class committablectx(basectx): return sorted(self._repo.dirstate.matches(match)) def ancestors(self): + for p in self._parents: + yield p for a in self._repo.changelog.ancestors( [p.rev() for p in self._parents]): yield changectx(self._repo, a)