Mercurial > hg
annotate tests/test-log @ 5096:ad6b97132b81
merge: fix a copy detection bug (issue672)
When merging rev1 and rev2, we want to search for copies that happened
in rev1 but not in rev2 and vice-versa. We were starting the search at
rev1/rev2 and then going back, stopping as soon as we reached the revno
of the ancestor, but that can miss some cases (see the new
test-issue672).
Now we calculate the revisions that are ancestors of rev1 or rev2 (but
not both) and make sure the search doesn't stop too early.
Simplified test provided by mpm, based on a test case provided by
Edward Lee.
author | Alexis S. L. Carvalho <alexis@cecm.usp.br> |
---|---|
date | Sun, 12 Aug 2007 12:15:10 -0300 |
parents | e0bc2c575044 |
children | 180a3eee4b75 |
rev | line source |
---|---|
2741
ae5ce3454ef5
log: add -f/--follow option, to follow rename/copy
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
1 #!/bin/sh |
ae5ce3454ef5
log: add -f/--follow option, to follow rename/copy
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
2 |
ae5ce3454ef5
log: add -f/--follow option, to follow rename/copy
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
3 hg init a |
ae5ce3454ef5
log: add -f/--follow option, to follow rename/copy
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
4 |
ae5ce3454ef5
log: add -f/--follow option, to follow rename/copy
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
5 cd a |
ae5ce3454ef5
log: add -f/--follow option, to follow rename/copy
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
6 echo a > a |
ae5ce3454ef5
log: add -f/--follow option, to follow rename/copy
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
7 hg ci -Ama -d '1 0' |
ae5ce3454ef5
log: add -f/--follow option, to follow rename/copy
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
8 |
ae5ce3454ef5
log: add -f/--follow option, to follow rename/copy
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
9 hg cp a b |
ae5ce3454ef5
log: add -f/--follow option, to follow rename/copy
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
10 hg ci -mb -d '2 0' |
ae5ce3454ef5
log: add -f/--follow option, to follow rename/copy
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
11 |
ae5ce3454ef5
log: add -f/--follow option, to follow rename/copy
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
12 mkdir dir |
ae5ce3454ef5
log: add -f/--follow option, to follow rename/copy
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
13 hg mv b dir |
ae5ce3454ef5
log: add -f/--follow option, to follow rename/copy
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
14 hg ci -mc -d '3 0' |
ae5ce3454ef5
log: add -f/--follow option, to follow rename/copy
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
15 |
ae5ce3454ef5
log: add -f/--follow option, to follow rename/copy
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
16 hg mv a b |
3837
7df171ea50cd
Fix log regression where log -p file showed diffs for other files
Matt Mackall <mpm@selenic.com>
parents:
3718
diff
changeset
|
17 echo a > d |
7df171ea50cd
Fix log regression where log -p file showed diffs for other files
Matt Mackall <mpm@selenic.com>
parents:
3718
diff
changeset
|
18 hg add d |
2741
ae5ce3454ef5
log: add -f/--follow option, to follow rename/copy
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
19 hg ci -md -d '4 0' |
ae5ce3454ef5
log: add -f/--follow option, to follow rename/copy
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
20 |
ae5ce3454ef5
log: add -f/--follow option, to follow rename/copy
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
21 hg mv dir/b e |
ae5ce3454ef5
log: add -f/--follow option, to follow rename/copy
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
22 hg ci -me -d '5 0' |
ae5ce3454ef5
log: add -f/--follow option, to follow rename/copy
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
23 |
ae5ce3454ef5
log: add -f/--follow option, to follow rename/copy
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
24 hg log a |
ae5ce3454ef5
log: add -f/--follow option, to follow rename/copy
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
25 echo % -f, directory |
ae5ce3454ef5
log: add -f/--follow option, to follow rename/copy
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
26 hg log -f dir |
ae5ce3454ef5
log: add -f/--follow option, to follow rename/copy
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
27 echo % -f, but no args |
ae5ce3454ef5
log: add -f/--follow option, to follow rename/copy
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
28 hg log -f |
ae5ce3454ef5
log: add -f/--follow option, to follow rename/copy
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
29 echo % one rename |
ae5ce3454ef5
log: add -f/--follow option, to follow rename/copy
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
30 hg log -vf a |
ae5ce3454ef5
log: add -f/--follow option, to follow rename/copy
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
31 echo % many renames |
ae5ce3454ef5
log: add -f/--follow option, to follow rename/copy
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
32 hg log -vf e |
2785
e7f70588af30
Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents:
2741
diff
changeset
|
33 |
3197 | 34 echo % log copies |
35 hg log -vC --template '{rev} {file_copies%filecopy}\n' | |
36 | |
3383
c7c6f1a45348
Test case for log --copies on non-linear manifests (issue391)
Brendan Cully <brendan@kublai.com>
parents:
3197
diff
changeset
|
37 echo % log copies, non-linear manifest |
c7c6f1a45348
Test case for log --copies on non-linear manifests (issue391)
Brendan Cully <brendan@kublai.com>
parents:
3197
diff
changeset
|
38 hg up -C 3 |
c7c6f1a45348
Test case for log --copies on non-linear manifests (issue391)
Brendan Cully <brendan@kublai.com>
parents:
3197
diff
changeset
|
39 hg mv dir/b e |
c7c6f1a45348
Test case for log --copies on non-linear manifests (issue391)
Brendan Cully <brendan@kublai.com>
parents:
3197
diff
changeset
|
40 echo foo > foo |
c7c6f1a45348
Test case for log --copies on non-linear manifests (issue391)
Brendan Cully <brendan@kublai.com>
parents:
3197
diff
changeset
|
41 hg ci -Ame2 -d '6 0' |
c7c6f1a45348
Test case for log --copies on non-linear manifests (issue391)
Brendan Cully <brendan@kublai.com>
parents:
3197
diff
changeset
|
42 hg log -vC --template '{rev} {file_copies%filecopy}\n' -r 5 |
c7c6f1a45348
Test case for log --copies on non-linear manifests (issue391)
Brendan Cully <brendan@kublai.com>
parents:
3197
diff
changeset
|
43 |
3837
7df171ea50cd
Fix log regression where log -p file showed diffs for other files
Matt Mackall <mpm@selenic.com>
parents:
3718
diff
changeset
|
44 echo '% log -p d' |
7df171ea50cd
Fix log regression where log -p file showed diffs for other files
Matt Mackall <mpm@selenic.com>
parents:
3718
diff
changeset
|
45 hg log -pv d |
7df171ea50cd
Fix log regression where log -p file showed diffs for other files
Matt Mackall <mpm@selenic.com>
parents:
3718
diff
changeset
|
46 |
2785
e7f70588af30
Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents:
2741
diff
changeset
|
47 # log --follow tests |
e7f70588af30
Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents:
2741
diff
changeset
|
48 hg init ../follow |
e7f70588af30
Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents:
2741
diff
changeset
|
49 cd ../follow |
4510
e0bc2c575044
Issue a warning if "-r ." is used with two working directory parents.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4180
diff
changeset
|
50 |
2785
e7f70588af30
Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents:
2741
diff
changeset
|
51 echo base > base |
e7f70588af30
Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents:
2741
diff
changeset
|
52 hg ci -Ambase -d '1 0' |
e7f70588af30
Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents:
2741
diff
changeset
|
53 |
e7f70588af30
Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents:
2741
diff
changeset
|
54 echo r1 >> base |
e7f70588af30
Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents:
2741
diff
changeset
|
55 hg ci -Amr1 -d '1 0' |
e7f70588af30
Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents:
2741
diff
changeset
|
56 echo r2 >> base |
e7f70588af30
Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents:
2741
diff
changeset
|
57 hg ci -Amr2 -d '1 0' |
e7f70588af30
Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents:
2741
diff
changeset
|
58 |
e7f70588af30
Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents:
2741
diff
changeset
|
59 hg up -C 1 |
e7f70588af30
Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents:
2741
diff
changeset
|
60 echo b1 > b1 |
e7f70588af30
Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents:
2741
diff
changeset
|
61 hg ci -Amb1 -d '1 0' |
e7f70588af30
Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents:
2741
diff
changeset
|
62 |
e7f70588af30
Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents:
2741
diff
changeset
|
63 echo % log -f |
e7f70588af30
Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents:
2741
diff
changeset
|
64 hg log -f |
e7f70588af30
Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents:
2741
diff
changeset
|
65 |
e7f70588af30
Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents:
2741
diff
changeset
|
66 hg up -C 0 |
e7f70588af30
Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents:
2741
diff
changeset
|
67 echo b2 > b2 |
e7f70588af30
Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents:
2741
diff
changeset
|
68 hg ci -Amb2 -d '1 0' |
e7f70588af30
Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents:
2741
diff
changeset
|
69 |
e7f70588af30
Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents:
2741
diff
changeset
|
70 echo % log -f -r 1:tip |
e7f70588af30
Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents:
2741
diff
changeset
|
71 hg log -f -r 1:tip |
e7f70588af30
Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents:
2741
diff
changeset
|
72 |
e7f70588af30
Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents:
2741
diff
changeset
|
73 hg up -C 3 |
e7f70588af30
Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents:
2741
diff
changeset
|
74 hg merge tip |
4510
e0bc2c575044
Issue a warning if "-r ." is used with two working directory parents.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4180
diff
changeset
|
75 |
e0bc2c575044
Issue a warning if "-r ." is used with two working directory parents.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4180
diff
changeset
|
76 echo % log -r . with two parents |
e0bc2c575044
Issue a warning if "-r ." is used with two working directory parents.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4180
diff
changeset
|
77 hg log -r . |
e0bc2c575044
Issue a warning if "-r ." is used with two working directory parents.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4180
diff
changeset
|
78 |
2785
e7f70588af30
Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents:
2741
diff
changeset
|
79 hg ci -mm12 -d '1 0' |
e7f70588af30
Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents:
2741
diff
changeset
|
80 |
4510
e0bc2c575044
Issue a warning if "-r ." is used with two working directory parents.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4180
diff
changeset
|
81 echo % log -r . with one parent |
e0bc2c575044
Issue a warning if "-r ." is used with two working directory parents.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4180
diff
changeset
|
82 hg log -r . |
e0bc2c575044
Issue a warning if "-r ." is used with two working directory parents.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4180
diff
changeset
|
83 |
2785
e7f70588af30
Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents:
2741
diff
changeset
|
84 echo postm >> b1 |
e7f70588af30
Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents:
2741
diff
changeset
|
85 hg ci -Amb1.1 -d'1 0' |
e7f70588af30
Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents:
2741
diff
changeset
|
86 |
e7f70588af30
Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents:
2741
diff
changeset
|
87 echo % log --follow-first |
e7f70588af30
Test suite for log --follow and --follow-first.
Brendan Cully <brendan@kublai.com>
parents:
2741
diff
changeset
|
88 hg log --follow-first |
2901 | 89 |
90 echo % log -P 2 | |
91 hg log -P 2 | |
3718
7db88b094b14
fix hg log -r ''
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3383
diff
changeset
|
92 |
7db88b094b14
fix hg log -r ''
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3383
diff
changeset
|
93 echo '% log -r ""' |
7db88b094b14
fix hg log -r ''
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3383
diff
changeset
|
94 hg log -r '' |
7db88b094b14
fix hg log -r ''
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3383
diff
changeset
|
95 |
7db88b094b14
fix hg log -r ''
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3383
diff
changeset
|
96 exit 0 |