comparison hgext/histedit.py @ 43616:418ca164d44c

index: use `index.get_rev` in `histedit.adjustreplacementsfrommarkers` Differential Revision: https://phab.mercurial-scm.org/D7353
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Sat, 09 Nov 2019 13:23:54 +0100
parents ccda03f6abcb
children 43e722fc2909
comparison
equal deleted inserted replaced
43615:0fea03924990 43616:418ca164d44c
2445 data read from obsolescence markers""" 2445 data read from obsolescence markers"""
2446 if not obsolete.isenabled(repo, obsolete.createmarkersopt): 2446 if not obsolete.isenabled(repo, obsolete.createmarkersopt):
2447 return oldreplacements 2447 return oldreplacements
2448 2448
2449 unfi = repo.unfiltered() 2449 unfi = repo.unfiltered()
2450 nm = unfi.changelog.nodemap 2450 get_rev = unfi.changelog.index.get_rev
2451 obsstore = repo.obsstore 2451 obsstore = repo.obsstore
2452 newreplacements = list(oldreplacements) 2452 newreplacements = list(oldreplacements)
2453 oldsuccs = [r[1] for r in oldreplacements] 2453 oldsuccs = [r[1] for r in oldreplacements]
2454 # successors that have already been added to succstocheck once 2454 # successors that have already been added to succstocheck once
2455 seensuccs = set().union( 2455 seensuccs = set().union(
2456 *oldsuccs 2456 *oldsuccs
2457 ) # create a set from an iterable of tuples 2457 ) # create a set from an iterable of tuples
2458 succstocheck = list(seensuccs) 2458 succstocheck = list(seensuccs)
2459 while succstocheck: 2459 while succstocheck:
2460 n = succstocheck.pop() 2460 n = succstocheck.pop()
2461 missing = nm.get(n) is None 2461 missing = get_rev(n) is None
2462 markers = obsstore.successors.get(n, ()) 2462 markers = obsstore.successors.get(n, ())
2463 if missing and not markers: 2463 if missing and not markers:
2464 # dead end, mark it as such 2464 # dead end, mark it as such
2465 newreplacements.append((n, ())) 2465 newreplacements.append((n, ()))
2466 for marker in markers: 2466 for marker in markers: