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])