##// END OF EJS Templates
revlog: suggest other parent when a parent was refused for a delta (issue5481)...
Paul Morelle -
r38114:9bf0bd4d default
parent child Browse files
Show More
@@ -326,12 +326,19 b' class _deltacomputer(object):'
326 # exclude already lazy tested base if any
326 # exclude already lazy tested base if any
327 parents = [p for p in (p1r, p2r)
327 parents = [p for p in (p1r, p2r)
328 if p != nullrev and p not in tested]
328 if p != nullrev and p not in tested]
329 if parents and not revlog._aggressivemergedeltas:
329
330 # Pick whichever parent is closer to us (to minimize the
330 if not revlog._aggressivemergedeltas and len(parents) == 2:
331 # chance of having to build a fulltext).
331 parents.sort()
332 parents = [max(parents)]
332 # To minimize the chance of having to build a fulltext,
333 tested.update(parents)
333 # pick first whichever parent is closest to us (max rev)
334 yield parents
334 yield (parents[1],)
335 # then the other one (min rev) if the first did not fit
336 yield (parents[0],)
337 tested.update(parents)
338 elif len(parents) > 0:
339 # Test all parents (1 or 2), and keep the best candidate
340 yield parents
341 tested.update(parents)
335
342
336 if prev not in tested:
343 if prev not in tested:
337 # other approach failed try against prev to hopefully save us a
344 # other approach failed try against prev to hopefully save us a
General Comments 0
You need to be logged in to leave comments. Login now