[PATCH 1 of 2] copies: create and use _loose_next function for _related
Yuya Nishihara
yuya at tcha.org
Thu Apr 5 08:52:43 EDT 2018
On Wed, 04 Apr 2018 15:35:33 +0200, Gábor Stefanik wrote:
> # HG changeset patch
> # User Gábor Stefanik <gabor.stefanik at nng.com>
> # Date 1522848489 -7200
> # Wed Apr 04 15:28:09 2018 +0200
> # Node ID d72ca973100a1f1a4451a7d1efdc3e43ebc2912e
> # Parent 656ac240f39284eec4435d25c01d71056aa4e8a5
> copies: create and use _loose_next function for _related
>
> _loose_next is going to be a variant of the next function that tries to follow
> grafts and similar relationship when the regular next raises StopIteration.
> This is needed for bug 5834.
Can you send this with the actual fix? It's unclear how _loose_next() will
be used to address the problem.
> +def _loose_next(g):
s/_loose_next/_loosenext/ per coding style.
> @@ -748,16 +754,16 @@
> f1r, f2r = f1.linkrev(), f2.linkrev()
>
> if f1r is None:
> - f1 = next(g1)
> + f1, g1 = _loose_next(g1)
> if f2r is None:
> - f2 = next(g2)
> + f1, g1 = _loose_next(g1)
s/g1/g2/g
> while True:
> f1r, f2r = f1.linkrev(), f2.linkrev()
> if f1r > f2r:
> - f1 = next(g1)
> + f1, g1 = _loose_next(g1)
> elif f2r > f1r:
> - f2 = next(g2)
> + f1, g1 = _loose_next(g1)
s/g1/g2/g
More information about the Mercurial-devel
mailing list