tests/test-ancestor.py.out
author Pierre-Yves David <pierre-yves.david@octobus.net>
Sat, 03 Jul 2021 19:52:00 +0200
changeset 47511 eaae39894312
parent 40972 d097dd0afc19
permissions -rw-r--r--
dirstate: move most of the `remove` logic with dirstatemap `removefile` This code deal with special logic to preserving "merged" and "from_p2" information when removing a file. These are implementation details that are more suitable for the dirstatemap layer. Since the dirstatemap layer alreaday have most of the information necessary to do so, the move is easy. This move helps us to encapsulate more implementation details within the dirstatemap and its entry. Easing the use of a different storage for dirstate v2. Differential Revision: https://phab.mercurial-scm.org/D10953
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
40972
d097dd0afc19 rust: translation of missingancestors
Georges Racinet <gracinet@anybox.fr>
parents: 39553
diff changeset
     1
% removeancestorsfrom(), example 1
d097dd0afc19 rust: translation of missingancestors
Georges Racinet <gracinet@anybox.fr>
parents: 39553
diff changeset
     2
remaining (sorted): [5, 6, 8, 9]
d097dd0afc19 rust: translation of missingancestors
Georges Racinet <gracinet@anybox.fr>
parents: 39553
diff changeset
     3
% removeancestorsfrom(), example 2
d097dd0afc19 rust: translation of missingancestors
Georges Racinet <gracinet@anybox.fr>
parents: 39553
diff changeset
     4
remaining (sorted): [11, 12, 13, 14]
d097dd0afc19 rust: translation of missingancestors
Georges Racinet <gracinet@anybox.fr>
parents: 39553
diff changeset
     5
% removeancestorsfrom(), example 3
d097dd0afc19 rust: translation of missingancestors
Georges Racinet <gracinet@anybox.fr>
parents: 39553
diff changeset
     6
remaining (sorted): [3, 5]
d097dd0afc19 rust: translation of missingancestors
Georges Racinet <gracinet@anybox.fr>
parents: 39553
diff changeset
     7
% missingancestors(), example 1
d097dd0afc19 rust: translation of missingancestors
Georges Racinet <gracinet@anybox.fr>
parents: 39553
diff changeset
     8
return [3, 7, 11]
d097dd0afc19 rust: translation of missingancestors
Georges Racinet <gracinet@anybox.fr>
parents: 39553
diff changeset
     9
% missingancestors(), example 2
d097dd0afc19 rust: translation of missingancestors
Georges Racinet <gracinet@anybox.fr>
parents: 39553
diff changeset
    10
return [5, 10]
d097dd0afc19 rust: translation of missingancestors
Georges Racinet <gracinet@anybox.fr>
parents: 39553
diff changeset
    11
% missingancestors(), example 3
d097dd0afc19 rust: translation of missingancestors
Georges Racinet <gracinet@anybox.fr>
parents: 39553
diff changeset
    12
return [3, 6, 9, 11]
d097dd0afc19 rust: translation of missingancestors
Georges Racinet <gracinet@anybox.fr>
parents: 39553
diff changeset
    13
% removeancestorsfrom(), bigger graph
d097dd0afc19 rust: translation of missingancestors
Georges Racinet <gracinet@anybox.fr>
parents: 39553
diff changeset
    14
Ok
18091
f7f8159caad3 ancestor: add lazy membership testing to lazyancestors
Siddharth Agarwal <sid0@fb.com>
parents: 18079
diff changeset
    15
% lazy ancestor set for [], stoprev = 0, inclusive = False
23329
c6cd4b8b76f8 test-ancestor: test iteration for lazyancestors
Siddharth Agarwal <sid0@fb.com>
parents: 22355
diff changeset
    16
membership: []
c6cd4b8b76f8 test-ancestor: test iteration for lazyancestors
Siddharth Agarwal <sid0@fb.com>
parents: 22355
diff changeset
    17
iteration:  []
18091
f7f8159caad3 ancestor: add lazy membership testing to lazyancestors
Siddharth Agarwal <sid0@fb.com>
parents: 18079
diff changeset
    18
% lazy ancestor set for [11, 13], stoprev = 0, inclusive = False
23329
c6cd4b8b76f8 test-ancestor: test iteration for lazyancestors
Siddharth Agarwal <sid0@fb.com>
parents: 22355
diff changeset
    19
membership: [7, 8, 3, 4, 1, 0]
39490
b6db2e80a9ce ancestors: actually iterate over ancestors in topological order (issue5979)
Boris Feld <boris.feld@octobus.net>
parents: 23331
diff changeset
    20
iteration:  [8, 7, 4, 3, 2, 1, 0]
22355
731b2a90983b test-ancestor: add a test for `ancestor` with ancestry within the initset
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 18091
diff changeset
    21
% lazy ancestor set for [1, 3], stoprev = 0, inclusive = False
23329
c6cd4b8b76f8 test-ancestor: test iteration for lazyancestors
Siddharth Agarwal <sid0@fb.com>
parents: 22355
diff changeset
    22
membership: [1, 0]
39490
b6db2e80a9ce ancestors: actually iterate over ancestors in topological order (issue5979)
Boris Feld <boris.feld@octobus.net>
parents: 23331
diff changeset
    23
iteration:  [1, 0]
18091
f7f8159caad3 ancestor: add lazy membership testing to lazyancestors
Siddharth Agarwal <sid0@fb.com>
parents: 18079
diff changeset
    24
% lazy ancestor set for [11, 13], stoprev = 0, inclusive = True
23329
c6cd4b8b76f8 test-ancestor: test iteration for lazyancestors
Siddharth Agarwal <sid0@fb.com>
parents: 22355
diff changeset
    25
membership: [11, 13, 7, 8, 3, 4, 1, 0]
39491
a60dae060bc8 ancestors: ensure a consistent order even in the "inclusive" case
Boris Feld <boris.feld@octobus.net>
parents: 39490
diff changeset
    26
iteration:  [13, 11, 8, 7, 4, 3, 2, 1, 0]
18091
f7f8159caad3 ancestor: add lazy membership testing to lazyancestors
Siddharth Agarwal <sid0@fb.com>
parents: 18079
diff changeset
    27
% lazy ancestor set for [11, 13], stoprev = 6, inclusive = False
23329
c6cd4b8b76f8 test-ancestor: test iteration for lazyancestors
Siddharth Agarwal <sid0@fb.com>
parents: 22355
diff changeset
    28
membership: [7, 8]
39490
b6db2e80a9ce ancestors: actually iterate over ancestors in topological order (issue5979)
Boris Feld <boris.feld@octobus.net>
parents: 23331
diff changeset
    29
iteration:  [8, 7]
18091
f7f8159caad3 ancestor: add lazy membership testing to lazyancestors
Siddharth Agarwal <sid0@fb.com>
parents: 18079
diff changeset
    30
% lazy ancestor set for [11, 13], stoprev = 6, inclusive = True
23329
c6cd4b8b76f8 test-ancestor: test iteration for lazyancestors
Siddharth Agarwal <sid0@fb.com>
parents: 22355
diff changeset
    31
membership: [11, 13, 7, 8]
39491
a60dae060bc8 ancestors: ensure a consistent order even in the "inclusive" case
Boris Feld <boris.feld@octobus.net>
parents: 39490
diff changeset
    32
iteration:  [13, 11, 8, 7]
39492
431068d7e9db ancestor: add test showing inconsistency between __iter__ and __contains__
Yuya Nishihara <yuya@tcha.org>
parents: 39491
diff changeset
    33
% lazy ancestor set for [11, 13], stoprev = 11, inclusive = True
431068d7e9db ancestor: add test showing inconsistency between __iter__ and __contains__
Yuya Nishihara <yuya@tcha.org>
parents: 39491
diff changeset
    34
membership: [11, 13]
431068d7e9db ancestor: add test showing inconsistency between __iter__ and __contains__
Yuya Nishihara <yuya@tcha.org>
parents: 39491
diff changeset
    35
iteration:  [13, 11]
431068d7e9db ancestor: add test showing inconsistency between __iter__ and __contains__
Yuya Nishihara <yuya@tcha.org>
parents: 39491
diff changeset
    36
% lazy ancestor set for [11, 13], stoprev = 12, inclusive = True
39493
7eadc9407867 ancestor: filter out initial revisions lower than stoprev
Yuya Nishihara <yuya@tcha.org>
parents: 39492
diff changeset
    37
membership: [13]
39492
431068d7e9db ancestor: add test showing inconsistency between __iter__ and __contains__
Yuya Nishihara <yuya@tcha.org>
parents: 39491
diff changeset
    38
iteration:  [13]
39553
bdb177923291 ancestor: optimize _lazyancestorsiter() for contiguous chains
Yuya Nishihara <yuya@tcha.org>
parents: 39493
diff changeset
    39
% lazy ancestor set for [10, 1], stoprev = 0, inclusive = True
bdb177923291 ancestor: optimize _lazyancestorsiter() for contiguous chains
Yuya Nishihara <yuya@tcha.org>
parents: 39493
diff changeset
    40
membership: [2, 10, 4, 5, 0, 1]
bdb177923291 ancestor: optimize _lazyancestorsiter() for contiguous chains
Yuya Nishihara <yuya@tcha.org>
parents: 39493
diff changeset
    41
iteration:  [10, 5, 4, 2, 1, 0]