diff -r b332c01247d8 -r 80215865d154 mercurial/context.py --- a/mercurial/context.py Mon Oct 02 02:34:47 2017 -0700 +++ b/mercurial/context.py Mon Oct 02 02:34:47 2017 -0700 @@ -1112,56 +1112,7 @@ Additionally, if `skipchild` is True, replace all other lines with parent annotate data as well such that child is never blamed for any lines. - >>> oldfctx = b'old' - >>> p1fctx, p2fctx, childfctx = b'p1', b'p2', b'c' - >>> olddata = b'a\nb\n' - >>> p1data = b'a\nb\nc\n' - >>> p2data = b'a\nc\nd\n' - >>> childdata = b'a\nb2\nc\nc2\nd\n' - >>> diffopts = mdiff.diffopts() - - >>> def decorate(text, rev): - ... return ([(rev, i) for i in xrange(1, text.count(b'\n') + 1)], text) - - Basic usage: - - >>> oldann = decorate(olddata, oldfctx) - >>> p1ann = decorate(p1data, p1fctx) - >>> p1ann = _annotatepair([oldann], p1fctx, p1ann, False, diffopts) - >>> p1ann[0] - [('old', 1), ('old', 2), ('p1', 3)] - >>> p2ann = decorate(p2data, p2fctx) - >>> p2ann = _annotatepair([oldann], p2fctx, p2ann, False, diffopts) - >>> p2ann[0] - [('old', 1), ('p2', 2), ('p2', 3)] - - Test with multiple parents (note the difference caused by ordering): - - >>> childann = decorate(childdata, childfctx) - >>> childann = _annotatepair([p1ann, p2ann], childfctx, childann, False, - ... diffopts) - >>> childann[0] - [('old', 1), ('c', 2), ('p2', 2), ('c', 4), ('p2', 3)] - - >>> childann = decorate(childdata, childfctx) - >>> childann = _annotatepair([p2ann, p1ann], childfctx, childann, False, - ... diffopts) - >>> childann[0] - [('old', 1), ('c', 2), ('p1', 3), ('c', 4), ('p2', 3)] - - Test with skipchild (note the difference caused by ordering): - - >>> childann = decorate(childdata, childfctx) - >>> childann = _annotatepair([p1ann, p2ann], childfctx, childann, True, - ... diffopts) - >>> childann[0] - [('old', 1), ('old', 2), ('p2', 2), ('p2', 2), ('p2', 3)] - - >>> childann = decorate(childdata, childfctx) - >>> childann = _annotatepair([p2ann, p1ann], childfctx, childann, True, - ... diffopts) - >>> childann[0] - [('old', 1), ('old', 2), ('p1', 3), ('p1', 3), ('p2', 3)] + See test-annotate.py for unit tests. ''' pblocks = [(parent, mdiff.allblocks(parent[1], child[1], opts=diffopts)) for parent in parents]