annotate tests/test-annotate.t @ 23702:c48924787eaa

filectx.parents: enforce changeid of parent to be in own changectx ancestors Because of the way filenodes are computed, you can have multiple changesets "introducing" the same file revision. For example, in the changeset graph below, changeset 2 and 3 both change a file -to- and -from- the same content. o 3: content = new | | o 2: content = new |/ o 1: content = old In such cases, the file revision is create once, when 2 is added, and just reused for 3. So the file change in '3' (from "old" to "new)" has no linkrev pointing to it). We'll call this situation "linkrev-shadowing". As the linkrev is used for optimization purposes when walking a file history, the linkrev-shadowing results in an unexpected jump to another branch during such a walk.. This leads to multiple bugs with log, annotate and rename detection. One element to fix such bugs is to ensure that walking the file history sticks on the same topology as the changeset's history. For this purpose, we extend the logic in 'basefilectx.parents' so that it always defines the proper changeset to associate the parent file revision with. This "proper" changeset has to be an ancestor of the changeset associated with the child file revision. This logic is performed in the '_adjustlinkrev' function. This function is given the starting changeset and all the information regarding the parent file revision. If the linkrev for the file revision is an ancestor of the starting changeset, the linkrev is valid and will be used. If it is not, we detected a topological jump caused by linkrev shadowing, we are going to walk the ancestors of the starting changeset until we find one setting the file to the revision we are trying to create. The performance impact appears acceptable: - We are walking the changelog once for each filelog traversal (as there should be no overlap between searches), - changelog traversal itself is fairly cheap, compared to what is likely going to be perform on the result on the filelog traversal, - We only touch the manifest for ancestors touching the file, And such changesets are likely to be the one introducing the file. (except in pathological cases involving merge), - We use manifest diff instead of full manifest unpacking to check manifest content, so it does not involve applying multiple diffs in most case. - linkrev shadowing is not the common case. Tests for fixed issues in log, annotate and rename detection have been added. But this changeset does not solve all problems. It fixes -ancestry- computation, but if the linkrev-shadowed changesets is the starting one, we'll still get things wrong. We'll have to fix the bootstrapping of such operations in a later changeset. Also, the usage of `hg log FILE` without --follow still has issues with linkrev pointing to hidden changesets, because it relies on the `filelog` revset which implement its own traversal logic that is still to be fixed. Thanks goes to: - Matt Mackall: for nudging me in the right direction - Julien Cristau and RĂ©mi Cardona: for keep telling me linkrev bug were an evolution show stopper for 3 years. - Durham Goode: for finding a new linkrev issue every few weeks - Mads Kiilerich: for that last rename bug who raise this topic over my anoyance limit.
author Pierre-Yves David <pierre-yves.david@fb.com>
date Tue, 23 Dec 2014 15:30:38 -0800
parents dff638170c48
children 28a302e9225d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
11852
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
1 $ HGMERGE=true; export HGMERGE
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
2
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
3 init
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
4
15528
a84698badf0b annotate: support diff whitespace filtering flags (issue3030)
Patrick Mezard <pmezard@gmail.com>
parents: 14358
diff changeset
5 $ hg init repo
a84698badf0b annotate: support diff whitespace filtering flags (issue3030)
Patrick Mezard <pmezard@gmail.com>
parents: 14358
diff changeset
6 $ cd repo
2923
cd47230a4eb9 tests: new test for "hg annotate"
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff changeset
7
11852
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
8 commit
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
9
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
10 $ echo 'a' > a
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
11 $ hg ci -A -m test -u nobody -d '1 0'
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
12 adding a
4365
46280c004f22 change tests to use simplemerge by default
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3405
diff changeset
13
11852
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
14 annotate -c
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
15
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
16 $ hg annotate -c a
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
17 8435f90966e4: a
2923
cd47230a4eb9 tests: new test for "hg annotate"
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff changeset
18
11852
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
19 annotate -cl
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
20
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
21 $ hg annotate -cl a
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
22 8435f90966e4:1: a
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
23
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
24 annotate -d
2923
cd47230a4eb9 tests: new test for "hg annotate"
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff changeset
25
11852
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
26 $ hg annotate -d a
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
27 Thu Jan 01 00:00:01 1970 +0000: a
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
28
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
29 annotate -n
2923
cd47230a4eb9 tests: new test for "hg annotate"
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff changeset
30
11852
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
31 $ hg annotate -n a
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
32 0: a
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
33
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
34 annotate -nl
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
35
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
36 $ hg annotate -nl a
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
37 0:1: a
4857
2192001e4bb4 Add --line-number option to hg annotate (issue506)
Thomas Arendsen Hein <thomas@intevation.de>
parents: 4659
diff changeset
38
11852
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
39 annotate -u
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
40
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
41 $ hg annotate -u a
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
42 nobody: a
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
43
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
44 annotate -cdnu
2923
cd47230a4eb9 tests: new test for "hg annotate"
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff changeset
45
11852
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
46 $ hg annotate -cdnu a
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
47 nobody 0 8435f90966e4 Thu Jan 01 00:00:01 1970 +0000: a
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
48
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
49 annotate -cdnul
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
50
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
51 $ hg annotate -cdnul a
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
52 nobody 0 8435f90966e4 Thu Jan 01 00:00:01 1970 +0000:1: a
2923
cd47230a4eb9 tests: new test for "hg annotate"
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff changeset
53
22480
dff638170c48 annotate: port to generic templater enabled by hidden -T option
Yuya Nishihara <yuya@tcha.org>
parents: 18993
diff changeset
54 annotate (JSON)
dff638170c48 annotate: port to generic templater enabled by hidden -T option
Yuya Nishihara <yuya@tcha.org>
parents: 18993
diff changeset
55
dff638170c48 annotate: port to generic templater enabled by hidden -T option
Yuya Nishihara <yuya@tcha.org>
parents: 18993
diff changeset
56 $ hg annotate -Tjson a
dff638170c48 annotate: port to generic templater enabled by hidden -T option
Yuya Nishihara <yuya@tcha.org>
parents: 18993
diff changeset
57 [
dff638170c48 annotate: port to generic templater enabled by hidden -T option
Yuya Nishihara <yuya@tcha.org>
parents: 18993
diff changeset
58 {
dff638170c48 annotate: port to generic templater enabled by hidden -T option
Yuya Nishihara <yuya@tcha.org>
parents: 18993
diff changeset
59 "line": "a\n",
dff638170c48 annotate: port to generic templater enabled by hidden -T option
Yuya Nishihara <yuya@tcha.org>
parents: 18993
diff changeset
60 "rev": 0
dff638170c48 annotate: port to generic templater enabled by hidden -T option
Yuya Nishihara <yuya@tcha.org>
parents: 18993
diff changeset
61 }
dff638170c48 annotate: port to generic templater enabled by hidden -T option
Yuya Nishihara <yuya@tcha.org>
parents: 18993
diff changeset
62 ]
dff638170c48 annotate: port to generic templater enabled by hidden -T option
Yuya Nishihara <yuya@tcha.org>
parents: 18993
diff changeset
63
dff638170c48 annotate: port to generic templater enabled by hidden -T option
Yuya Nishihara <yuya@tcha.org>
parents: 18993
diff changeset
64 $ hg annotate -Tjson -cdfnul a
dff638170c48 annotate: port to generic templater enabled by hidden -T option
Yuya Nishihara <yuya@tcha.org>
parents: 18993
diff changeset
65 [
dff638170c48 annotate: port to generic templater enabled by hidden -T option
Yuya Nishihara <yuya@tcha.org>
parents: 18993
diff changeset
66 {
dff638170c48 annotate: port to generic templater enabled by hidden -T option
Yuya Nishihara <yuya@tcha.org>
parents: 18993
diff changeset
67 "date": [1.0, 0],
dff638170c48 annotate: port to generic templater enabled by hidden -T option
Yuya Nishihara <yuya@tcha.org>
parents: 18993
diff changeset
68 "file": "a",
dff638170c48 annotate: port to generic templater enabled by hidden -T option
Yuya Nishihara <yuya@tcha.org>
parents: 18993
diff changeset
69 "line": "a\n",
dff638170c48 annotate: port to generic templater enabled by hidden -T option
Yuya Nishihara <yuya@tcha.org>
parents: 18993
diff changeset
70 "line_number": 1,
dff638170c48 annotate: port to generic templater enabled by hidden -T option
Yuya Nishihara <yuya@tcha.org>
parents: 18993
diff changeset
71 "node": "8435f90966e442695d2ded29fdade2bac5ad8065",
dff638170c48 annotate: port to generic templater enabled by hidden -T option
Yuya Nishihara <yuya@tcha.org>
parents: 18993
diff changeset
72 "rev": 0,
dff638170c48 annotate: port to generic templater enabled by hidden -T option
Yuya Nishihara <yuya@tcha.org>
parents: 18993
diff changeset
73 "user": "nobody"
dff638170c48 annotate: port to generic templater enabled by hidden -T option
Yuya Nishihara <yuya@tcha.org>
parents: 18993
diff changeset
74 }
dff638170c48 annotate: port to generic templater enabled by hidden -T option
Yuya Nishihara <yuya@tcha.org>
parents: 18993
diff changeset
75 ]
dff638170c48 annotate: port to generic templater enabled by hidden -T option
Yuya Nishihara <yuya@tcha.org>
parents: 18993
diff changeset
76
11852
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
77 $ cat <<EOF >>a
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
78 > a
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
79 > a
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
80 > EOF
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
81 $ hg ci -ma1 -d '1 0'
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
82 $ hg cp a b
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
83 $ hg ci -mb -d '1 0'
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
84 $ cat <<EOF >> b
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
85 > b4
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
86 > b5
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
87 > b6
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
88 > EOF
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
89 $ hg ci -mb2 -d '2 0'
2923
cd47230a4eb9 tests: new test for "hg annotate"
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff changeset
90
11852
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
91 annotate -n b
3172
5c93dd0ae413 Refactor annotate copy support.
Brendan Cully <brendan@kublai.com>
parents: 2925
diff changeset
92
11852
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
93 $ hg annotate -n b
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
94 0: a
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
95 1: a
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
96 1: a
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
97 3: b4
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
98 3: b5
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
99 3: b6
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
100
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
101 annotate --no-follow b
4857
2192001e4bb4 Add --line-number option to hg annotate (issue506)
Thomas Arendsen Hein <thomas@intevation.de>
parents: 4659
diff changeset
102
11852
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
103 $ hg annotate --no-follow b
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
104 2: a
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
105 2: a
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
106 2: a
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
107 3: b4
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
108 3: b5
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
109 3: b6
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
110
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
111 annotate -nl b
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
112
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
113 $ hg annotate -nl b
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
114 0:1: a
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
115 1:2: a
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
116 1:3: a
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
117 3:4: b4
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
118 3:5: b5
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
119 3:6: b6
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
120
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
121 annotate -nf b
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
122
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
123 $ hg annotate -nf b
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
124 0 a: a
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
125 1 a: a
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
126 1 a: a
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
127 3 b: b4
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
128 3 b: b5
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
129 3 b: b6
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
130
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
131 annotate -nlf b
3172
5c93dd0ae413 Refactor annotate copy support.
Brendan Cully <brendan@kublai.com>
parents: 2925
diff changeset
132
11852
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
133 $ hg annotate -nlf b
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
134 0 a:1: a
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
135 1 a:2: a
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
136 1 a:3: a
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
137 3 b:4: b4
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
138 3 b:5: b5
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
139 3 b:6: b6
3172
5c93dd0ae413 Refactor annotate copy support.
Brendan Cully <brendan@kublai.com>
parents: 2925
diff changeset
140
11852
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
141 $ hg up -C 2
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
142 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
143 $ cat <<EOF >> b
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
144 > b4
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
145 > c
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
146 > b5
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
147 > EOF
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
148 $ hg ci -mb2.1 -d '2 0'
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
149 created new head
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
150 $ hg merge
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
151 merging b
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
152 0 files updated, 1 files merged, 0 files removed, 0 files unresolved
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
153 (branch merge, don't forget to commit)
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
154 $ hg ci -mmergeb -d '3 0'
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
155
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
156 annotate after merge
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
157
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
158 $ hg annotate -nf b
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
159 0 a: a
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
160 1 a: a
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
161 1 a: a
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
162 3 b: b4
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
163 4 b: c
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
164 3 b: b5
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
165
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
166 annotate after merge with -l
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
167
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
168 $ hg annotate -nlf b
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
169 0 a:1: a
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
170 1 a:2: a
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
171 1 a:3: a
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
172 3 b:4: b4
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
173 4 b:5: c
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
174 3 b:5: b5
3172
5c93dd0ae413 Refactor annotate copy support.
Brendan Cully <brendan@kublai.com>
parents: 2925
diff changeset
175
11852
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
176 $ hg up -C 1
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
177 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
178 $ hg cp a b
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
179 $ cat <<EOF > b
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
180 > a
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
181 > z
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
182 > a
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
183 > EOF
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
184 $ hg ci -mc -d '3 0'
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
185 created new head
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
186 $ hg merge
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
187 merging b
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
188 0 files updated, 1 files merged, 0 files removed, 0 files unresolved
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
189 (branch merge, don't forget to commit)
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
190 $ cat <<EOF >> b
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
191 > b4
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
192 > c
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
193 > b5
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
194 > EOF
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
195 $ echo d >> b
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
196 $ hg ci -mmerge2 -d '4 0'
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
197
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
198 annotate after rename merge
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
199
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
200 $ hg annotate -nf b
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
201 0 a: a
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
202 6 b: z
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
203 1 a: a
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
204 3 b: b4
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
205 4 b: c
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
206 3 b: b5
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
207 7 b: d
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
208
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
209 annotate after rename merge with -l
3405
2e1d8b238b6c Test annotate using named rev instead of linkrev
Brendan Cully <brendan@kublai.com>
parents: 3202
diff changeset
210
11852
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
211 $ hg annotate -nlf b
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
212 0 a:1: a
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
213 6 b:2: z
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
214 1 a:3: a
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
215 3 b:4: b4
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
216 4 b:5: c
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
217 3 b:5: b5
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
218 7 b:7: d
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
219
14358
bf93e78f2638 annotate: fix alignment of columns in front of line numbers (issue2807)
Thomas Arendsen Hein <thomas@intevation.de>
parents: 13697
diff changeset
220 Issue2807: alignment of line numbers with -l
bf93e78f2638 annotate: fix alignment of columns in front of line numbers (issue2807)
Thomas Arendsen Hein <thomas@intevation.de>
parents: 13697
diff changeset
221
bf93e78f2638 annotate: fix alignment of columns in front of line numbers (issue2807)
Thomas Arendsen Hein <thomas@intevation.de>
parents: 13697
diff changeset
222 $ echo more >> b
bf93e78f2638 annotate: fix alignment of columns in front of line numbers (issue2807)
Thomas Arendsen Hein <thomas@intevation.de>
parents: 13697
diff changeset
223 $ hg ci -mmore -d '5 0'
bf93e78f2638 annotate: fix alignment of columns in front of line numbers (issue2807)
Thomas Arendsen Hein <thomas@intevation.de>
parents: 13697
diff changeset
224 $ echo more >> b
bf93e78f2638 annotate: fix alignment of columns in front of line numbers (issue2807)
Thomas Arendsen Hein <thomas@intevation.de>
parents: 13697
diff changeset
225 $ hg ci -mmore -d '6 0'
bf93e78f2638 annotate: fix alignment of columns in front of line numbers (issue2807)
Thomas Arendsen Hein <thomas@intevation.de>
parents: 13697
diff changeset
226 $ echo more >> b
bf93e78f2638 annotate: fix alignment of columns in front of line numbers (issue2807)
Thomas Arendsen Hein <thomas@intevation.de>
parents: 13697
diff changeset
227 $ hg ci -mmore -d '7 0'
bf93e78f2638 annotate: fix alignment of columns in front of line numbers (issue2807)
Thomas Arendsen Hein <thomas@intevation.de>
parents: 13697
diff changeset
228 $ hg annotate -nlf b
bf93e78f2638 annotate: fix alignment of columns in front of line numbers (issue2807)
Thomas Arendsen Hein <thomas@intevation.de>
parents: 13697
diff changeset
229 0 a: 1: a
bf93e78f2638 annotate: fix alignment of columns in front of line numbers (issue2807)
Thomas Arendsen Hein <thomas@intevation.de>
parents: 13697
diff changeset
230 6 b: 2: z
bf93e78f2638 annotate: fix alignment of columns in front of line numbers (issue2807)
Thomas Arendsen Hein <thomas@intevation.de>
parents: 13697
diff changeset
231 1 a: 3: a
bf93e78f2638 annotate: fix alignment of columns in front of line numbers (issue2807)
Thomas Arendsen Hein <thomas@intevation.de>
parents: 13697
diff changeset
232 3 b: 4: b4
bf93e78f2638 annotate: fix alignment of columns in front of line numbers (issue2807)
Thomas Arendsen Hein <thomas@intevation.de>
parents: 13697
diff changeset
233 4 b: 5: c
bf93e78f2638 annotate: fix alignment of columns in front of line numbers (issue2807)
Thomas Arendsen Hein <thomas@intevation.de>
parents: 13697
diff changeset
234 3 b: 5: b5
bf93e78f2638 annotate: fix alignment of columns in front of line numbers (issue2807)
Thomas Arendsen Hein <thomas@intevation.de>
parents: 13697
diff changeset
235 7 b: 7: d
bf93e78f2638 annotate: fix alignment of columns in front of line numbers (issue2807)
Thomas Arendsen Hein <thomas@intevation.de>
parents: 13697
diff changeset
236 8 b: 8: more
bf93e78f2638 annotate: fix alignment of columns in front of line numbers (issue2807)
Thomas Arendsen Hein <thomas@intevation.de>
parents: 13697
diff changeset
237 9 b: 9: more
bf93e78f2638 annotate: fix alignment of columns in front of line numbers (issue2807)
Thomas Arendsen Hein <thomas@intevation.de>
parents: 13697
diff changeset
238 10 b:10: more
bf93e78f2638 annotate: fix alignment of columns in front of line numbers (issue2807)
Thomas Arendsen Hein <thomas@intevation.de>
parents: 13697
diff changeset
239
11852
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
240 linkrev vs rev
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
241
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
242 $ hg annotate -r tip -n a
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
243 0: a
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
244 1: a
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
245 1: a
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
246
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
247 linkrev vs rev with -l
4639
c7371aa0c153 test-annotate: add a test for issue 589.
Patrick Mezard <pmezard@gmail.com>
parents: 3405
diff changeset
248
11852
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
249 $ hg annotate -r tip -nl a
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
250 0:1: a
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
251 1:2: a
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
252 1:3: a
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
253
12399
4fee1fd3de9a tests: added a short description to issue numbers
Martin Geisler <mg@aragost.com>
parents: 11852
diff changeset
254 Issue589: "undelete" sequence leads to crash
11852
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
255
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
256 annotate was crashing when trying to --follow something
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
257
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
258 like A -> B -> A
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
259
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
260 generate ABA rename configuration
4639
c7371aa0c153 test-annotate: add a test for issue 589.
Patrick Mezard <pmezard@gmail.com>
parents: 3405
diff changeset
261
11852
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
262 $ echo foo > foo
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
263 $ hg add foo
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
264 $ hg ci -m addfoo
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
265 $ hg rename foo bar
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
266 $ hg ci -m renamefoo
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
267 $ hg rename bar foo
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
268 $ hg ci -m renamebar
4639
c7371aa0c153 test-annotate: add a test for issue 589.
Patrick Mezard <pmezard@gmail.com>
parents: 3405
diff changeset
269
11852
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
270 annotate after ABA with follow
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
271
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
272 $ hg annotate --follow foo
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
273 foo: foo
b2f91119bf8c tests: unify test-annotate
Martin Geisler <mg@lazybytes.net>
parents: 10369
diff changeset
274
13697
eaee75036725 annotate: catch nonexistent files using match.bad callback (issue1590)
Matt Mackall <mpm@selenic.com>
parents: 12399
diff changeset
275 missing file
eaee75036725 annotate: catch nonexistent files using match.bad callback (issue1590)
Matt Mackall <mpm@selenic.com>
parents: 12399
diff changeset
276
eaee75036725 annotate: catch nonexistent files using match.bad callback (issue1590)
Matt Mackall <mpm@selenic.com>
parents: 12399
diff changeset
277 $ hg ann nosuchfile
14358
bf93e78f2638 annotate: fix alignment of columns in front of line numbers (issue2807)
Thomas Arendsen Hein <thomas@intevation.de>
parents: 13697
diff changeset
278 abort: nosuchfile: no such file in rev e9e6b4fa872f
13697
eaee75036725 annotate: catch nonexistent files using match.bad callback (issue1590)
Matt Mackall <mpm@selenic.com>
parents: 12399
diff changeset
279 [255]
15528
a84698badf0b annotate: support diff whitespace filtering flags (issue3030)
Patrick Mezard <pmezard@gmail.com>
parents: 14358
diff changeset
280
15829
2c480532f36e annotate: append newline after non newline-terminated file listings
Ion Savin <ion.savin@tora.com>
parents: 15528
diff changeset
281 annotate file without '\n' on last line
2c480532f36e annotate: append newline after non newline-terminated file listings
Ion Savin <ion.savin@tora.com>
parents: 15528
diff changeset
282
2c480532f36e annotate: append newline after non newline-terminated file listings
Ion Savin <ion.savin@tora.com>
parents: 15528
diff changeset
283 $ printf "" > c
2c480532f36e annotate: append newline after non newline-terminated file listings
Ion Savin <ion.savin@tora.com>
parents: 15528
diff changeset
284 $ hg ci -A -m test -u nobody -d '1 0'
2c480532f36e annotate: append newline after non newline-terminated file listings
Ion Savin <ion.savin@tora.com>
parents: 15528
diff changeset
285 adding c
2c480532f36e annotate: append newline after non newline-terminated file listings
Ion Savin <ion.savin@tora.com>
parents: 15528
diff changeset
286 $ hg annotate c
2c480532f36e annotate: append newline after non newline-terminated file listings
Ion Savin <ion.savin@tora.com>
parents: 15528
diff changeset
287 $ printf "a\nb" > c
2c480532f36e annotate: append newline after non newline-terminated file listings
Ion Savin <ion.savin@tora.com>
parents: 15528
diff changeset
288 $ hg ci -m test
2c480532f36e annotate: append newline after non newline-terminated file listings
Ion Savin <ion.savin@tora.com>
parents: 15528
diff changeset
289 $ hg annotate c
2c480532f36e annotate: append newline after non newline-terminated file listings
Ion Savin <ion.savin@tora.com>
parents: 15528
diff changeset
290 [0-9]+: a (re)
2c480532f36e annotate: append newline after non newline-terminated file listings
Ion Savin <ion.savin@tora.com>
parents: 15528
diff changeset
291 [0-9]+: b (re)
2c480532f36e annotate: append newline after non newline-terminated file listings
Ion Savin <ion.savin@tora.com>
parents: 15528
diff changeset
292
18993
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
293 Issue3841: check annotation of the file of which filelog includes
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
294 merging between the revision and its ancestor
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
295
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
296 to reproduce the situation with recent Mercurial, this script uses (1)
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
297 "hg debugsetparents" to merge without ancestor check by "hg merge",
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
298 and (2) the extension to allow filelog merging between the revision
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
299 and its ancestor by overriding "repo._filecommit".
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
300
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
301 $ cat > ../legacyrepo.py <<EOF
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
302 > from mercurial import node, util
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
303 > def reposetup(ui, repo):
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
304 > class legacyrepo(repo.__class__):
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
305 > def _filecommit(self, fctx, manifest1, manifest2,
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
306 > linkrev, tr, changelist):
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
307 > fname = fctx.path()
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
308 > text = fctx.data()
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
309 > flog = self.file(fname)
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
310 > fparent1 = manifest1.get(fname, node.nullid)
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
311 > fparent2 = manifest2.get(fname, node.nullid)
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
312 > meta = {}
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
313 > copy = fctx.renamed()
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
314 > if copy and copy[0] != fname:
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
315 > raise util.Abort('copying is not supported')
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
316 > if fparent2 != node.nullid:
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
317 > changelist.append(fname)
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
318 > return flog.add(text, meta, tr, linkrev,
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
319 > fparent1, fparent2)
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
320 > raise util.Abort('only merging is supported')
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
321 > repo.__class__ = legacyrepo
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
322 > EOF
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
323
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
324 $ cat > baz <<EOF
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
325 > 1
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
326 > 2
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
327 > 3
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
328 > 4
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
329 > 5
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
330 > EOF
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
331 $ hg add baz
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
332 $ hg commit -m "baz:0"
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
333
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
334 $ cat > baz <<EOF
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
335 > 1 baz:1
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
336 > 2
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
337 > 3
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
338 > 4
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
339 > 5
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
340 > EOF
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
341 $ hg commit -m "baz:1"
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
342
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
343 $ cat > baz <<EOF
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
344 > 1 baz:1
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
345 > 2 baz:2
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
346 > 3
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
347 > 4
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
348 > 5
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
349 > EOF
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
350 $ hg debugsetparents 17 17
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
351 $ hg --config extensions.legacyrepo=../legacyrepo.py commit -m "baz:2"
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
352 $ hg debugindexdot .hg/store/data/baz.i
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
353 digraph G {
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
354 -1 -> 0
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
355 0 -> 1
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
356 1 -> 2
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
357 1 -> 2
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
358 }
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
359 $ hg annotate baz
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
360 17: 1 baz:1
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
361 18: 2 baz:2
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
362 16: 3
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
363 16: 4
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
364 16: 5
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
365
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
366 $ cat > baz <<EOF
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
367 > 1 baz:1
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
368 > 2 baz:2
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
369 > 3 baz:3
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
370 > 4
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
371 > 5
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
372 > EOF
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
373 $ hg commit -m "baz:3"
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
374
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
375 $ cat > baz <<EOF
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
376 > 1 baz:1
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
377 > 2 baz:2
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
378 > 3 baz:3
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
379 > 4 baz:4
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
380 > 5
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
381 > EOF
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
382 $ hg debugsetparents 19 18
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
383 $ hg --config extensions.legacyrepo=../legacyrepo.py commit -m "baz:4"
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
384 $ hg debugindexdot .hg/store/data/baz.i
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
385 digraph G {
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
386 -1 -> 0
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
387 0 -> 1
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
388 1 -> 2
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
389 1 -> 2
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
390 2 -> 3
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
391 3 -> 4
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
392 2 -> 4
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
393 }
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
394 $ hg annotate baz
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
395 17: 1 baz:1
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
396 18: 2 baz:2
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
397 19: 3 baz:3
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
398 20: 4 baz:4
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
399 16: 5
0fd0612dc855 annotate: increase refcount of each revisions correctly (issue3841)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17347
diff changeset
400
15528
a84698badf0b annotate: support diff whitespace filtering flags (issue3030)
Patrick Mezard <pmezard@gmail.com>
parents: 14358
diff changeset
401 Test annotate with whitespace options
a84698badf0b annotate: support diff whitespace filtering flags (issue3030)
Patrick Mezard <pmezard@gmail.com>
parents: 14358
diff changeset
402
a84698badf0b annotate: support diff whitespace filtering flags (issue3030)
Patrick Mezard <pmezard@gmail.com>
parents: 14358
diff changeset
403 $ cd ..
a84698badf0b annotate: support diff whitespace filtering flags (issue3030)
Patrick Mezard <pmezard@gmail.com>
parents: 14358
diff changeset
404 $ hg init repo-ws
a84698badf0b annotate: support diff whitespace filtering flags (issue3030)
Patrick Mezard <pmezard@gmail.com>
parents: 14358
diff changeset
405 $ cd repo-ws
a84698badf0b annotate: support diff whitespace filtering flags (issue3030)
Patrick Mezard <pmezard@gmail.com>
parents: 14358
diff changeset
406 $ cat > a <<EOF
a84698badf0b annotate: support diff whitespace filtering flags (issue3030)
Patrick Mezard <pmezard@gmail.com>
parents: 14358
diff changeset
407 > aa
a84698badf0b annotate: support diff whitespace filtering flags (issue3030)
Patrick Mezard <pmezard@gmail.com>
parents: 14358
diff changeset
408 >
a84698badf0b annotate: support diff whitespace filtering flags (issue3030)
Patrick Mezard <pmezard@gmail.com>
parents: 14358
diff changeset
409 > b b
a84698badf0b annotate: support diff whitespace filtering flags (issue3030)
Patrick Mezard <pmezard@gmail.com>
parents: 14358
diff changeset
410 > EOF
a84698badf0b annotate: support diff whitespace filtering flags (issue3030)
Patrick Mezard <pmezard@gmail.com>
parents: 14358
diff changeset
411 $ hg ci -Am "adda"
a84698badf0b annotate: support diff whitespace filtering flags (issue3030)
Patrick Mezard <pmezard@gmail.com>
parents: 14358
diff changeset
412 adding a
17347
2da47de36b6f check-code: fix check for trailing whitespace on continued lines too
Mads Kiilerich <mads@kiilerich.com>
parents: 16913
diff changeset
413 $ sed 's/EOL$//g' > a <<EOF
15528
a84698badf0b annotate: support diff whitespace filtering flags (issue3030)
Patrick Mezard <pmezard@gmail.com>
parents: 14358
diff changeset
414 > a a
a84698badf0b annotate: support diff whitespace filtering flags (issue3030)
Patrick Mezard <pmezard@gmail.com>
parents: 14358
diff changeset
415 >
17347
2da47de36b6f check-code: fix check for trailing whitespace on continued lines too
Mads Kiilerich <mads@kiilerich.com>
parents: 16913
diff changeset
416 > EOL
15528
a84698badf0b annotate: support diff whitespace filtering flags (issue3030)
Patrick Mezard <pmezard@gmail.com>
parents: 14358
diff changeset
417 > b b
a84698badf0b annotate: support diff whitespace filtering flags (issue3030)
Patrick Mezard <pmezard@gmail.com>
parents: 14358
diff changeset
418 > EOF
a84698badf0b annotate: support diff whitespace filtering flags (issue3030)
Patrick Mezard <pmezard@gmail.com>
parents: 14358
diff changeset
419 $ hg ci -m "changea"
a84698badf0b annotate: support diff whitespace filtering flags (issue3030)
Patrick Mezard <pmezard@gmail.com>
parents: 14358
diff changeset
420
a84698badf0b annotate: support diff whitespace filtering flags (issue3030)
Patrick Mezard <pmezard@gmail.com>
parents: 14358
diff changeset
421 Annotate with no option
a84698badf0b annotate: support diff whitespace filtering flags (issue3030)
Patrick Mezard <pmezard@gmail.com>
parents: 14358
diff changeset
422
a84698badf0b annotate: support diff whitespace filtering flags (issue3030)
Patrick Mezard <pmezard@gmail.com>
parents: 14358
diff changeset
423 $ hg annotate a
a84698badf0b annotate: support diff whitespace filtering flags (issue3030)
Patrick Mezard <pmezard@gmail.com>
parents: 14358
diff changeset
424 1: a a
a84698badf0b annotate: support diff whitespace filtering flags (issue3030)
Patrick Mezard <pmezard@gmail.com>
parents: 14358
diff changeset
425 0:
a84698badf0b annotate: support diff whitespace filtering flags (issue3030)
Patrick Mezard <pmezard@gmail.com>
parents: 14358
diff changeset
426 1:
a84698badf0b annotate: support diff whitespace filtering flags (issue3030)
Patrick Mezard <pmezard@gmail.com>
parents: 14358
diff changeset
427 1: b b
a84698badf0b annotate: support diff whitespace filtering flags (issue3030)
Patrick Mezard <pmezard@gmail.com>
parents: 14358
diff changeset
428
a84698badf0b annotate: support diff whitespace filtering flags (issue3030)
Patrick Mezard <pmezard@gmail.com>
parents: 14358
diff changeset
429 Annotate with --ignore-space-change
a84698badf0b annotate: support diff whitespace filtering flags (issue3030)
Patrick Mezard <pmezard@gmail.com>
parents: 14358
diff changeset
430
a84698badf0b annotate: support diff whitespace filtering flags (issue3030)
Patrick Mezard <pmezard@gmail.com>
parents: 14358
diff changeset
431 $ hg annotate --ignore-space-change a
a84698badf0b annotate: support diff whitespace filtering flags (issue3030)
Patrick Mezard <pmezard@gmail.com>
parents: 14358
diff changeset
432 1: a a
a84698badf0b annotate: support diff whitespace filtering flags (issue3030)
Patrick Mezard <pmezard@gmail.com>
parents: 14358
diff changeset
433 1:
a84698badf0b annotate: support diff whitespace filtering flags (issue3030)
Patrick Mezard <pmezard@gmail.com>
parents: 14358
diff changeset
434 0:
a84698badf0b annotate: support diff whitespace filtering flags (issue3030)
Patrick Mezard <pmezard@gmail.com>
parents: 14358
diff changeset
435 0: b b
a84698badf0b annotate: support diff whitespace filtering flags (issue3030)
Patrick Mezard <pmezard@gmail.com>
parents: 14358
diff changeset
436
a84698badf0b annotate: support diff whitespace filtering flags (issue3030)
Patrick Mezard <pmezard@gmail.com>
parents: 14358
diff changeset
437 Annotate with --ignore-all-space
a84698badf0b annotate: support diff whitespace filtering flags (issue3030)
Patrick Mezard <pmezard@gmail.com>
parents: 14358
diff changeset
438
a84698badf0b annotate: support diff whitespace filtering flags (issue3030)
Patrick Mezard <pmezard@gmail.com>
parents: 14358
diff changeset
439 $ hg annotate --ignore-all-space a
a84698badf0b annotate: support diff whitespace filtering flags (issue3030)
Patrick Mezard <pmezard@gmail.com>
parents: 14358
diff changeset
440 0: a a
a84698badf0b annotate: support diff whitespace filtering flags (issue3030)
Patrick Mezard <pmezard@gmail.com>
parents: 14358
diff changeset
441 0:
a84698badf0b annotate: support diff whitespace filtering flags (issue3030)
Patrick Mezard <pmezard@gmail.com>
parents: 14358
diff changeset
442 1:
a84698badf0b annotate: support diff whitespace filtering flags (issue3030)
Patrick Mezard <pmezard@gmail.com>
parents: 14358
diff changeset
443 0: b b
a84698badf0b annotate: support diff whitespace filtering flags (issue3030)
Patrick Mezard <pmezard@gmail.com>
parents: 14358
diff changeset
444
a84698badf0b annotate: support diff whitespace filtering flags (issue3030)
Patrick Mezard <pmezard@gmail.com>
parents: 14358
diff changeset
445 Annotate with --ignore-blank-lines (similar to no options case)
a84698badf0b annotate: support diff whitespace filtering flags (issue3030)
Patrick Mezard <pmezard@gmail.com>
parents: 14358
diff changeset
446
a84698badf0b annotate: support diff whitespace filtering flags (issue3030)
Patrick Mezard <pmezard@gmail.com>
parents: 14358
diff changeset
447 $ hg annotate --ignore-blank-lines a
a84698badf0b annotate: support diff whitespace filtering flags (issue3030)
Patrick Mezard <pmezard@gmail.com>
parents: 14358
diff changeset
448 1: a a
a84698badf0b annotate: support diff whitespace filtering flags (issue3030)
Patrick Mezard <pmezard@gmail.com>
parents: 14358
diff changeset
449 0:
a84698badf0b annotate: support diff whitespace filtering flags (issue3030)
Patrick Mezard <pmezard@gmail.com>
parents: 14358
diff changeset
450 1:
a84698badf0b annotate: support diff whitespace filtering flags (issue3030)
Patrick Mezard <pmezard@gmail.com>
parents: 14358
diff changeset
451 1: b b
a84698badf0b annotate: support diff whitespace filtering flags (issue3030)
Patrick Mezard <pmezard@gmail.com>
parents: 14358
diff changeset
452
16913
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 15829
diff changeset
453 $ cd ..
23702
c48924787eaa filectx.parents: enforce changeid of parent to be in own changectx ancestors
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22480
diff changeset
454
c48924787eaa filectx.parents: enforce changeid of parent to be in own changectx ancestors
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22480
diff changeset
455 Annotate with linkrev pointing to another branch
c48924787eaa filectx.parents: enforce changeid of parent to be in own changectx ancestors
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22480
diff changeset
456 ------------------------------------------------
c48924787eaa filectx.parents: enforce changeid of parent to be in own changectx ancestors
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22480
diff changeset
457
c48924787eaa filectx.parents: enforce changeid of parent to be in own changectx ancestors
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22480
diff changeset
458 create history with a filerev whose linkrev points to another branch
c48924787eaa filectx.parents: enforce changeid of parent to be in own changectx ancestors
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22480
diff changeset
459
c48924787eaa filectx.parents: enforce changeid of parent to be in own changectx ancestors
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22480
diff changeset
460 $ hg init branchedlinkrev
c48924787eaa filectx.parents: enforce changeid of parent to be in own changectx ancestors
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22480
diff changeset
461 $ cd branchedlinkrev
c48924787eaa filectx.parents: enforce changeid of parent to be in own changectx ancestors
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22480
diff changeset
462 $ echo A > a
c48924787eaa filectx.parents: enforce changeid of parent to be in own changectx ancestors
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22480
diff changeset
463 $ hg commit -Am 'contentA'
c48924787eaa filectx.parents: enforce changeid of parent to be in own changectx ancestors
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22480
diff changeset
464 adding a
c48924787eaa filectx.parents: enforce changeid of parent to be in own changectx ancestors
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22480
diff changeset
465 $ echo B >> a
c48924787eaa filectx.parents: enforce changeid of parent to be in own changectx ancestors
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22480
diff changeset
466 $ hg commit -m 'contentB'
c48924787eaa filectx.parents: enforce changeid of parent to be in own changectx ancestors
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22480
diff changeset
467 $ hg up --rev 'desc(contentA)'
c48924787eaa filectx.parents: enforce changeid of parent to be in own changectx ancestors
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22480
diff changeset
468 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
c48924787eaa filectx.parents: enforce changeid of parent to be in own changectx ancestors
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22480
diff changeset
469 $ echo unrelated > unrelated
c48924787eaa filectx.parents: enforce changeid of parent to be in own changectx ancestors
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22480
diff changeset
470 $ hg commit -Am 'unrelated'
c48924787eaa filectx.parents: enforce changeid of parent to be in own changectx ancestors
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22480
diff changeset
471 adding unrelated
c48924787eaa filectx.parents: enforce changeid of parent to be in own changectx ancestors
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22480
diff changeset
472 created new head
c48924787eaa filectx.parents: enforce changeid of parent to be in own changectx ancestors
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22480
diff changeset
473 $ hg graft -r 'desc(contentB)'
c48924787eaa filectx.parents: enforce changeid of parent to be in own changectx ancestors
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22480
diff changeset
474 grafting 1:fd27c222e3e6 "contentB"
c48924787eaa filectx.parents: enforce changeid of parent to be in own changectx ancestors
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22480
diff changeset
475 $ echo C >> a
c48924787eaa filectx.parents: enforce changeid of parent to be in own changectx ancestors
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22480
diff changeset
476 $ hg commit -m 'contentC'
c48924787eaa filectx.parents: enforce changeid of parent to be in own changectx ancestors
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22480
diff changeset
477 $ hg log -G
c48924787eaa filectx.parents: enforce changeid of parent to be in own changectx ancestors
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22480
diff changeset
478 @ changeset: 4:072f1e8df249
c48924787eaa filectx.parents: enforce changeid of parent to be in own changectx ancestors
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22480
diff changeset
479 | tag: tip
c48924787eaa filectx.parents: enforce changeid of parent to be in own changectx ancestors
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22480
diff changeset
480 | user: test
c48924787eaa filectx.parents: enforce changeid of parent to be in own changectx ancestors
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22480
diff changeset
481 | date: Thu Jan 01 00:00:00 1970 +0000
c48924787eaa filectx.parents: enforce changeid of parent to be in own changectx ancestors
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22480
diff changeset
482 | summary: contentC
c48924787eaa filectx.parents: enforce changeid of parent to be in own changectx ancestors
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22480
diff changeset
483 |
c48924787eaa filectx.parents: enforce changeid of parent to be in own changectx ancestors
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22480
diff changeset
484 o changeset: 3:ff38df03cc4b
c48924787eaa filectx.parents: enforce changeid of parent to be in own changectx ancestors
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22480
diff changeset
485 | user: test
c48924787eaa filectx.parents: enforce changeid of parent to be in own changectx ancestors
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22480
diff changeset
486 | date: Thu Jan 01 00:00:00 1970 +0000
c48924787eaa filectx.parents: enforce changeid of parent to be in own changectx ancestors
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22480
diff changeset
487 | summary: contentB
c48924787eaa filectx.parents: enforce changeid of parent to be in own changectx ancestors
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22480
diff changeset
488 |
c48924787eaa filectx.parents: enforce changeid of parent to be in own changectx ancestors
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22480
diff changeset
489 o changeset: 2:62aaf3f6fc06
c48924787eaa filectx.parents: enforce changeid of parent to be in own changectx ancestors
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22480
diff changeset
490 | parent: 0:f0932f74827e
c48924787eaa filectx.parents: enforce changeid of parent to be in own changectx ancestors
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22480
diff changeset
491 | user: test
c48924787eaa filectx.parents: enforce changeid of parent to be in own changectx ancestors
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22480
diff changeset
492 | date: Thu Jan 01 00:00:00 1970 +0000
c48924787eaa filectx.parents: enforce changeid of parent to be in own changectx ancestors
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22480
diff changeset
493 | summary: unrelated
c48924787eaa filectx.parents: enforce changeid of parent to be in own changectx ancestors
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22480
diff changeset
494 |
c48924787eaa filectx.parents: enforce changeid of parent to be in own changectx ancestors
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22480
diff changeset
495 | o changeset: 1:fd27c222e3e6
c48924787eaa filectx.parents: enforce changeid of parent to be in own changectx ancestors
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22480
diff changeset
496 |/ user: test
c48924787eaa filectx.parents: enforce changeid of parent to be in own changectx ancestors
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22480
diff changeset
497 | date: Thu Jan 01 00:00:00 1970 +0000
c48924787eaa filectx.parents: enforce changeid of parent to be in own changectx ancestors
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22480
diff changeset
498 | summary: contentB
c48924787eaa filectx.parents: enforce changeid of parent to be in own changectx ancestors
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22480
diff changeset
499 |
c48924787eaa filectx.parents: enforce changeid of parent to be in own changectx ancestors
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22480
diff changeset
500 o changeset: 0:f0932f74827e
c48924787eaa filectx.parents: enforce changeid of parent to be in own changectx ancestors
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22480
diff changeset
501 user: test
c48924787eaa filectx.parents: enforce changeid of parent to be in own changectx ancestors
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22480
diff changeset
502 date: Thu Jan 01 00:00:00 1970 +0000
c48924787eaa filectx.parents: enforce changeid of parent to be in own changectx ancestors
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22480
diff changeset
503 summary: contentA
c48924787eaa filectx.parents: enforce changeid of parent to be in own changectx ancestors
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22480
diff changeset
504
c48924787eaa filectx.parents: enforce changeid of parent to be in own changectx ancestors
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22480
diff changeset
505
c48924787eaa filectx.parents: enforce changeid of parent to be in own changectx ancestors
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22480
diff changeset
506 Annotate should list ancestor of starting revision only
c48924787eaa filectx.parents: enforce changeid of parent to be in own changectx ancestors
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22480
diff changeset
507
c48924787eaa filectx.parents: enforce changeid of parent to be in own changectx ancestors
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22480
diff changeset
508 $ hg annotate a
c48924787eaa filectx.parents: enforce changeid of parent to be in own changectx ancestors
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22480
diff changeset
509 0: A
c48924787eaa filectx.parents: enforce changeid of parent to be in own changectx ancestors
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22480
diff changeset
510 3: B
c48924787eaa filectx.parents: enforce changeid of parent to be in own changectx ancestors
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22480
diff changeset
511 4: C
c48924787eaa filectx.parents: enforce changeid of parent to be in own changectx ancestors
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22480
diff changeset
512
c48924787eaa filectx.parents: enforce changeid of parent to be in own changectx ancestors
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22480
diff changeset
513 $ cd ..