Yuya Nishihara <y...@tcha.org> writes: > On Sun, 01 Jul 2018 08:38:40 +0200, Paul Morelle wrote: >> # HG changeset patch >> # User Boris Feld <boris.f...@octobus.net> >> # Date 1529621811 -3600 >> # Thu Jun 21 23:56:51 2018 +0100 >> # Node ID 494f5f95311e3b36a01cca745e52f536c3977a5c >> # Parent c6a8430582d584770c873a3b6234750482b9b65e >> # EXP-Topic descendant >> # Available At https://bitbucket.org/octobus/mercurial-devel/ >> # hg pull https://bitbucket.org/octobus/mercurial-devel/ -r >> 494f5f95311e >> revlog: refactor out the rev-oriented part of commonancestorheads >> >> We plan to use this in a function taking revs as argument. Round trips to >> nodes >> seem silly. >> >> diff -r c6a8430582d5 -r 494f5f95311e mercurial/revlog.py >> --- a/mercurial/revlog.py Thu Jun 21 23:53:43 2018 +0100 >> +++ b/mercurial/revlog.py Thu Jun 21 23:56:51 2018 +0100 >> @@ -1390,11 +1390,16 @@ >> def commonancestorsheads(self, a, b): >> """calculate all the heads of the common ancestors of nodes a and >> b""" >> a, b = self.rev(a), self.rev(b) >> + ancs = self._commonancestorsheads(a, b) >> + return pycompat.maplist(self.node, ancs) >> + >> + def _commonancestorsheads(self, *revs): >> + """calculate all the heads of the common ancestors of revs""" >> try: >> - ancs = self.index.commonancestorsheads(a, b) >> + ancs = self.index.commonancestorsheads(*revs) >> except (AttributeError, OverflowError): # C implementation failed >> - ancs = ancestor.commonancestorsheads(self.parentrevs, a, b) >> - return pycompat.maplist(self.node, ancs) >> + ancs = ancestor.commonancestorsheads(self.parentrevs, *revs) >> + return ancs > > Sean, maybe we can use this function to implement _commonancestorsheads() > revset.
Ah, yes, that's possible now; great!
signature.asc
Description: PGP signature
_______________________________________________ Mercurial-devel mailing list Mercurial-devel@mercurial-scm.org https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel