[PATCH] context: return dirstate parents in workingctx.ancestors()

Sean Farley sean.michael.farley at gmail.com
Thu Dec 18 12:44:46 CST 2014


Durham Goode writes:

> # HG changeset patch
> # User Durham Goode <durham at fb.com>
> # 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

Sure, that makes sense. As I mentioned on IRC, it's easier to filter
something out than to do manual adding or checking.


More information about the Mercurial-devel mailing list