##// END OF EJS Templates
perf: add `parent-smallest` as possible source for perfrevlogwrite...
Boris Feld -
r40589:e14d4477 default
parent child Browse files
Show More
@@ -1583,6 +1583,7 b' def perfrevlogwrite(ui, repo, file_=None'
1583 1583 * `parent-1`: add from a delta to the first parent
1584 1584 * `parent-2`: add from a delta to the second parent if it exists
1585 1585 (use a delta from the first parent otherwise)
1586 * `parent-smallest`: add from the smallest delta (either p1 or p2)
1586 1587 """
1587 1588 opts = _byteskwargs(opts)
1588 1589
@@ -1594,7 +1595,7 b' def perfrevlogwrite(ui, repo, file_=None'
1594 1595 stoprev = rllen + stoprev
1595 1596
1596 1597 source = opts['source']
1597 validsource = (b'full', b'parent-1', b'parent-2')
1598 validsource = (b'full', b'parent-1', b'parent-2', b'parent-smallest')
1598 1599 if source not in validsource:
1599 1600 raise error.Abort('invalid source type: %s' % source)
1600 1601
@@ -1707,6 +1708,17 b' def _getrevisionseed(orig, rev, tr, sour'
1707 1708 parent = p1
1708 1709 baserev = orig.rev(parent)
1709 1710 cachedelta = (baserev, orig.revdiff(parent, rev))
1711 elif source == b'parent-smallest':
1712 p1diff = orig.revdiff(p1, rev)
1713 parent = p1
1714 diff = p1diff
1715 if p2 != nullid:
1716 p2diff = orig.revdiff(p2, rev)
1717 if len(p1diff) > len(p2diff):
1718 parent = p2
1719 diff = p2diff
1720 baserev = orig.rev(parent)
1721 cachedelta = (baserev, diff)
1710 1722
1711 1723 return ((text, tr, linkrev, p1, p2),
1712 1724 {'node': node, 'flags': flags, 'cachedelta': cachedelta})
General Comments 0
You need to be logged in to leave comments. Login now