Mercurial > evolve
comparison hgext/evolve.py @ 1375:9e062e6598e9 stable
evolve: search divergence within all precursors
Before this patches we looking for divergence base in immediate successors only.
This was a bug leading the divergence base to be reported missing more than it
should.
author | Pierre-Yves David <pierre-yves.david@fb.com> |
---|---|
date | Thu, 18 Jun 2015 15:56:56 -0700 |
parents | 39f2c1ab3a53 |
children | 8bb2e04cc18c |
comparison
equal
deleted
inserted
replaced
1374:39f2c1ab3a53 | 1375:9e062e6598e9 |
---|---|
1584 | 1584 |
1585 This only return the first one. | 1585 This only return the first one. |
1586 | 1586 |
1587 XXX this woobly function won't survive XXX | 1587 XXX this woobly function won't survive XXX |
1588 """ | 1588 """ |
1589 repo = ctx.repo.unfitered() | 1589 repo = ctx._repo.unfiltered() |
1590 for base in repo.set('reverse(precursors(%d))', ctx): | 1590 for base in repo.set('reverse(allprecursors(%d))', ctx): |
1591 newer = obsolete.successorssets(ctx._repo, base.node()) | 1591 newer = obsolete.successorssets(ctx._repo, base.node()) |
1592 # drop filter and solution including the original ctx | 1592 # drop filter and solution including the original ctx |
1593 newer = [n for n in newer if n and ctx.node() not in n] | 1593 newer = [n for n in newer if n and ctx.node() not in n] |
1594 if newer: | 1594 if newer: |
1595 return base, tuple(ctx._repo[o] for o in newer[0]) | 1595 return base, tuple(ctx._repo[o] for o in newer[0]) |