tests/test-ancestor.py.out
author Siddharth Agarwal <sid0@fb.com>
Wed, 26 Dec 2012 15:04:07 -0800
changeset 18136 f23dea2b296e
parent 18091 f7f8159caad3
child 22355 731b2a90983b
permissions -rw-r--r--
copies: do not track backward copies, only renames (issue3739) The inverse of a rename is a rename, but the inverse of a copy is not a copy. Presenting it as such -- in particular, stuffing it into the same dict as real copies -- causes bugs because other code starts believing the inverse copies are real. The only test whose output changes is test-mv-cp-st-diff.t. When a backwards status -C command is run where a copy is involved, the inverse copy (which was hitherto presented as a real copy) is no longer displayed. Keeping track of inverse copies is useful in some situations -- composability of diffs, for example, since adding "a" followed by an inverse copy "b" to "a" is equivalent to a rename "b" to "a". However, representing them would require a more complex data structure than the same dict in which real copies are also stored.

% ancestors of [] and not of [1]
[]
% ancestors of [] and not of []
[]
% ancestors of [12] and not of []
[0, 1, 2, 4, 6, 7, 9, 12]
% ancestors of [0] and not of [0]
[]
% ancestors of [4, 5, 6] and not of [6, 5, 4]
[]
% ancestors of [-1] and not of [12]
[]
% ancestors of [12] and not of [-1]
[0, 1, 2, 4, 6, 7, 9, 12]
% ancestors of [12] and not of [9]
[12]
% ancestors of [9] and not of [12]
[]
% ancestors of [12, 9] and not of [7]
[6, 9, 12]
% ancestors of [7, 6] and not of [12]
[]
% ancestors of [10] and not of [11, 12]
[5, 10]
% ancestors of [11] and not of [10]
[3, 7, 11]
% ancestors of [11] and not of [10, 12]
[3, 11]
% ancestors of [12] and not of [10]
[6, 7, 9, 12]
% ancestors of [12] and not of [11]
[6, 9, 12]
% ancestors of [10, 11, 12] and not of [13]
[0, 1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12]
% ancestors of [13] and not of [10, 11, 12]
[8, 13]
% lazy ancestor set for [], stoprev = 0, inclusive = False
[]
% lazy ancestor set for [11, 13], stoprev = 0, inclusive = False
[7, 8, 3, 4, 1, 0]
% lazy ancestor set for [11, 13], stoprev = 0, inclusive = True
[11, 13, 7, 8, 3, 4, 1, 0]
% lazy ancestor set for [11, 13], stoprev = 6, inclusive = False
[7, 8]
% lazy ancestor set for [11, 13], stoprev = 6, inclusive = True
[11, 13, 7, 8]