annotate tests/test-tags.t @ 19710:887ffa22fd0d

lrucachedict: implement clear()
author Siddharth Agarwal <sid0@fb.com>
date Fri, 06 Sep 2013 13:16:21 -0700
parents 335a558f81dc
children f5de208a635c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
11744
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
1 Helper functions:
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
2
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
3 $ cacheexists() {
13272
5ccdca7df211 move tags.cache and branchheads.cache to a collected cache folder .hg/cache/
jfh <jason@jasonfharris.com>
parents: 12763
diff changeset
4 > [ -f .hg/cache/tags ] && echo "tag cache exists" || echo "no tag cache"
11744
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
5 > }
345
9d8d9207c0b3 Add a tags/identify test group
mpm@selenic.com
parents:
diff changeset
6
11744
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
7 $ dumptags() {
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
8 > rev=$1
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
9 > echo "rev $rev: .hgtags:"
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
10 > hg cat -r$rev .hgtags
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
11 > }
9151
f528d1a93491 tags: implement persistent tag caching (issue548).
Greg Ward <greg-hg@gerg.ca>
parents: 9144
diff changeset
12
9152
4017291c4c48 tags: support 'instant' tag retrieval (issue548)
Greg Ward <greg-hg@gerg.ca>
parents: 9151
diff changeset
13 # XXX need to test that the tag cache works when we strip an old head
4017291c4c48 tags: support 'instant' tag retrieval (issue548)
Greg Ward <greg-hg@gerg.ca>
parents: 9151
diff changeset
14 # and add a new one rooted off non-tip: i.e. node and rev of tip are the
4017291c4c48 tags: support 'instant' tag retrieval (issue548)
Greg Ward <greg-hg@gerg.ca>
parents: 9151
diff changeset
15 # same, but stuff has changed behind tip.
4017291c4c48 tags: support 'instant' tag retrieval (issue548)
Greg Ward <greg-hg@gerg.ca>
parents: 9151
diff changeset
16
11744
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
17 Setup:
9143
a604c98dbf62 test-tags: clarify test output; simplify test script a bit (issue548).
Greg Ward <greg-hg@gerg.ca>
parents: 5658
diff changeset
18
11744
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
19 $ hg init t
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
20 $ cd t
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
21 $ cacheexists
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
22 no tag cache
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
23 $ hg id
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
24 000000000000 tip
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
25 $ cacheexists
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
26 no tag cache
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
27 $ echo a > a
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
28 $ hg add a
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
29 $ hg commit -m "test"
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
30 $ hg co
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
31 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
32 $ hg identify
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
33 acb14030fe0a tip
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
34 $ cacheexists
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
35 tag cache exists
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
36
12758
2d754eae430c tags: do not fail if tags.cache is corrupted (issue2444)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 12640
diff changeset
37 Try corrupting the cache
2d754eae430c tags: do not fail if tags.cache is corrupted (issue2444)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 12640
diff changeset
38
13272
5ccdca7df211 move tags.cache and branchheads.cache to a collected cache folder .hg/cache/
jfh <jason@jasonfharris.com>
parents: 12763
diff changeset
39 $ printf 'a b' > .hg/cache/tags
12758
2d754eae430c tags: do not fail if tags.cache is corrupted (issue2444)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 12640
diff changeset
40 $ hg identify
13272
5ccdca7df211 move tags.cache and branchheads.cache to a collected cache folder .hg/cache/
jfh <jason@jasonfharris.com>
parents: 12763
diff changeset
41 .hg/cache/tags is corrupt, rebuilding it
12758
2d754eae430c tags: do not fail if tags.cache is corrupted (issue2444)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 12640
diff changeset
42 acb14030fe0a tip
2d754eae430c tags: do not fail if tags.cache is corrupted (issue2444)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 12640
diff changeset
43 $ cacheexists
2d754eae430c tags: do not fail if tags.cache is corrupted (issue2444)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 12640
diff changeset
44 tag cache exists
2d754eae430c tags: do not fail if tags.cache is corrupted (issue2444)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 12640
diff changeset
45 $ hg identify
2d754eae430c tags: do not fail if tags.cache is corrupted (issue2444)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 12640
diff changeset
46 acb14030fe0a tip
2d754eae430c tags: do not fail if tags.cache is corrupted (issue2444)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 12640
diff changeset
47
11744
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
48 Create local tag with long name:
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
49
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
50 $ T=`hg identify --debug --id`
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
51 $ hg tag -l "This is a local tag with a really long name!"
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
52 $ hg tags
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
53 tip 0:acb14030fe0a
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
54 This is a local tag with a really long name! 0:acb14030fe0a
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
55 $ rm .hg/localtags
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
56
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
57 Create a tag behind hg's back:
9143
a604c98dbf62 test-tags: clarify test output; simplify test script a bit (issue548).
Greg Ward <greg-hg@gerg.ca>
parents: 5658
diff changeset
58
11744
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
59 $ echo "$T first" > .hgtags
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
60 $ cat .hgtags
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
61 acb14030fe0a21b60322c440ad2d20cf7685a376 first
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
62 $ hg add .hgtags
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
63 $ hg commit -m "add tags"
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
64 $ hg tags
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
65 tip 1:b9154636be93
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
66 first 0:acb14030fe0a
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
67 $ hg identify
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
68 b9154636be93 tip
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
69
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
70 Repeat with cold tag cache:
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
71
13272
5ccdca7df211 move tags.cache and branchheads.cache to a collected cache folder .hg/cache/
jfh <jason@jasonfharris.com>
parents: 12763
diff changeset
72 $ rm -f .hg/cache/tags
11744
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
73 $ hg identify
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
74 b9154636be93 tip
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
75
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
76 And again, but now unable to write tag cache:
9143
a604c98dbf62 test-tags: clarify test output; simplify test script a bit (issue548).
Greg Ward <greg-hg@gerg.ca>
parents: 5658
diff changeset
77
16857
1415edd88c56 test-tags: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents: 15443
diff changeset
78 #if unix-permissions
13272
5ccdca7df211 move tags.cache and branchheads.cache to a collected cache folder .hg/cache/
jfh <jason@jasonfharris.com>
parents: 12763
diff changeset
79 $ rm -f .hg/cache/tags
11744
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
80 $ chmod 555 .hg
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
81 $ hg identify
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
82 b9154636be93 tip
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
83 $ chmod 755 .hg
16857
1415edd88c56 test-tags: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents: 15443
diff changeset
84 #endif
11744
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
85
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
86 Create a branch:
9151
f528d1a93491 tags: implement persistent tag caching (issue548).
Greg Ward <greg-hg@gerg.ca>
parents: 9144
diff changeset
87
11744
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
88 $ echo bb > a
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
89 $ hg status
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
90 M a
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
91 $ hg identify
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
92 b9154636be93+ tip
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
93 $ hg co first
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
94 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
95 $ hg id
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
96 acb14030fe0a+ first
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
97 $ hg -v id
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
98 acb14030fe0a+ first
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
99 $ hg status
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
100 M a
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
101 $ echo 1 > b
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
102 $ hg add b
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
103 $ hg commit -m "branch"
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
104 created new head
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
105 $ hg id
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
106 c8edf04160c7 tip
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
107
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
108 Merge the two heads:
9366
9ff178e7b627 tags: don't crash if unable to write tag cache
Greg Ward <greg-hg@gerg.ca>
parents: 9152
diff changeset
109
11744
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
110 $ hg merge 1
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
111 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
112 (branch merge, don't forget to commit)
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
113 $ hg id
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
114 c8edf04160c7+b9154636be93+ tip
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
115 $ hg status
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
116 M .hgtags
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
117 $ hg commit -m "merge"
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
118
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
119 Create a fake head, make sure tag not visible afterwards:
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
120
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
121 $ cp .hgtags tags
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
122 $ hg tag last
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
123 $ hg rm .hgtags
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
124 $ hg commit -m "remove"
9143
a604c98dbf62 test-tags: clarify test output; simplify test script a bit (issue548).
Greg Ward <greg-hg@gerg.ca>
parents: 5658
diff changeset
125
11744
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
126 $ mv tags .hgtags
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
127 $ hg add .hgtags
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
128 $ hg commit -m "readd"
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
129 $
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
130 $ hg tags
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
131 tip 6:35ff301afafe
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
132 first 0:acb14030fe0a
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
133
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
134 Add invalid tags:
345
9d8d9207c0b3 Add a tags/identify test group
mpm@selenic.com
parents:
diff changeset
135
11744
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
136 $ echo "spam" >> .hgtags
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
137 $ echo >> .hgtags
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
138 $ echo "foo bar" >> .hgtags
12366
c01dc9087d9a tests: drop a bunch of sed calls from unified tests
Matt Mackall <mpm@selenic.com>
parents: 12327
diff changeset
139 $ echo "a5a5 invalid" >> .hg/localtags
17345
4f8054d3171b check-code: fix check for trailing whitespace on sh command lines
Mads Kiilerich <mads@kiilerich.com>
parents: 16913
diff changeset
140 $ cat .hgtags
11744
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
141 acb14030fe0a21b60322c440ad2d20cf7685a376 first
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
142 spam
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
143
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
144 foo bar
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
145 $ hg commit -m "tags"
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
146
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
147 Report tag parse error on other head:
2320
dbdce3b99988 fix parsing of tags. make parse errors useful. add new tag tests.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2283
diff changeset
148
11744
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
149 $ hg up 3
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
150 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
151 $ echo 'x y' >> .hgtags
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
152 $ hg commit -m "head"
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
153 created new head
2320
dbdce3b99988 fix parsing of tags. make parse errors useful. add new tag tests.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2283
diff changeset
154
11744
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
155 $ hg tags
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
156 .hgtags@75d9f02dfe28, line 2: cannot parse entry
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
157 .hgtags@75d9f02dfe28, line 4: node 'foo' is not well formed
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
158 .hgtags@c4be69a18c11, line 2: node 'x' is not well formed
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
159 tip 8:c4be69a18c11
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
160 first 0:acb14030fe0a
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
161 $ hg tip
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
162 changeset: 8:c4be69a18c11
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
163 tag: tip
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
164 parent: 3:ac5e980c4dc0
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
165 user: test
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
166 date: Thu Jan 01 00:00:00 1970 +0000
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
167 summary: head
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
168
2320
dbdce3b99988 fix parsing of tags. make parse errors useful. add new tag tests.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2283
diff changeset
169
11744
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
170 Test tag precedence rules:
2320
dbdce3b99988 fix parsing of tags. make parse errors useful. add new tag tests.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2283
diff changeset
171
11744
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
172 $ cd ..
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
173 $ hg init t2
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
174 $ cd t2
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
175 $ echo foo > foo
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
176 $ hg add foo
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
177 $ hg ci -m 'add foo' # rev 0
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
178 $ hg tag bar # rev 1
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
179 $ echo >> foo
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
180 $ hg ci -m 'change foo 1' # rev 2
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
181 $ hg up -C 1
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
182 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
183 $ hg tag -r 1 -f bar # rev 3
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
184 $ hg up -C 1
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
185 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
186 $ echo >> foo
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
187 $ hg ci -m 'change foo 2' # rev 4
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
188 created new head
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
189 $ hg tags
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
190 tip 4:0c192d7d5e6b
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
191 bar 1:78391a272241
2320
dbdce3b99988 fix parsing of tags. make parse errors useful. add new tag tests.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2283
diff changeset
192
11744
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
193 Repeat in case of cache effects:
2320
dbdce3b99988 fix parsing of tags. make parse errors useful. add new tag tests.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2283
diff changeset
194
11744
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
195 $ hg tags
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
196 tip 4:0c192d7d5e6b
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
197 bar 1:78391a272241
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
198
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
199 Detailed dump of tag info:
1986
719cf07b076d add checking for invalid entries in tag files
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 1933
diff changeset
200
11744
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
201 $ hg heads -q # expect 4, 3, 2
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
202 4:0c192d7d5e6b
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
203 3:6fa450212aeb
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
204 2:7a94127795a3
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
205 $ dumptags 2
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
206 rev 2: .hgtags:
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
207 bbd179dfa0a71671c253b3ae0aa1513b60d199fa bar
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
208 $ dumptags 3
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
209 rev 3: .hgtags:
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
210 bbd179dfa0a71671c253b3ae0aa1513b60d199fa bar
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
211 bbd179dfa0a71671c253b3ae0aa1513b60d199fa bar
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
212 78391a272241d70354aa14c874552cad6b51bb42 bar
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
213 $ dumptags 4
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
214 rev 4: .hgtags:
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
215 bbd179dfa0a71671c253b3ae0aa1513b60d199fa bar
9144
ad72e3b08bc0 test-tags: enhance the test to probe tag caching better (issue548).
Greg Ward <greg-hg@gerg.ca>
parents: 9143
diff changeset
216
11744
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
217 Dump cache:
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
218
13272
5ccdca7df211 move tags.cache and branchheads.cache to a collected cache folder .hg/cache/
jfh <jason@jasonfharris.com>
parents: 12763
diff changeset
219 $ cat .hg/cache/tags
11744
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
220 4 0c192d7d5e6b78a714de54a2e9627952a877e25a 0c04f2a8af31de17fab7422878ee5a2dadbc943d
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
221 3 6fa450212aeb2a21ed616a54aea39a4a27894cd7 7d3b718c964ef37b89e550ebdafd5789e76ce1b0
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
222 2 7a94127795a33c10a370c93f731fd9fea0b79af6 0c04f2a8af31de17fab7422878ee5a2dadbc943d
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
223
19646
335a558f81dc tags: write tag overwriting history also into tag cache file (issue3911)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19108
diff changeset
224 bbd179dfa0a71671c253b3ae0aa1513b60d199fa bar
335a558f81dc tags: write tag overwriting history also into tag cache file (issue3911)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19108
diff changeset
225 bbd179dfa0a71671c253b3ae0aa1513b60d199fa bar
11744
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
226 78391a272241d70354aa14c874552cad6b51bb42 bar
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
227
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
228 Test tag removal:
9144
ad72e3b08bc0 test-tags: enhance the test to probe tag caching better (issue548).
Greg Ward <greg-hg@gerg.ca>
parents: 9143
diff changeset
229
11744
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
230 $ hg tag --remove bar # rev 5
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
231 $ hg tip -vp
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
232 changeset: 5:5f6e8655b1c7
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
233 tag: tip
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
234 user: test
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
235 date: Thu Jan 01 00:00:00 1970 +0000
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
236 files: .hgtags
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
237 description:
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
238 Removed tag bar
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
239
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
240
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
241 diff -r 0c192d7d5e6b -r 5f6e8655b1c7 .hgtags
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
242 --- a/.hgtags Thu Jan 01 00:00:00 1970 +0000
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
243 +++ b/.hgtags Thu Jan 01 00:00:00 1970 +0000
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
244 @@ -1,1 +1,3 @@
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
245 bbd179dfa0a71671c253b3ae0aa1513b60d199fa bar
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
246 +78391a272241d70354aa14c874552cad6b51bb42 bar
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
247 +0000000000000000000000000000000000000000 bar
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
248
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
249 $ hg tags
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
250 tip 5:5f6e8655b1c7
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
251 $ hg tags # again, try to expose cache bugs
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
252 tip 5:5f6e8655b1c7
4213
3be4785f8994 tags: add --remove
Matt Mackall <mpm@selenic.com>
parents: 4211
diff changeset
253
11744
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
254 Remove nonexistent tag:
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
255
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
256 $ hg tag --remove foobar
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
257 abort: tag 'foobar' does not exist
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 11744
diff changeset
258 [255]
11744
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
259 $ hg tip
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
260 changeset: 5:5f6e8655b1c7
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
261 tag: tip
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
262 user: test
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
263 date: Thu Jan 01 00:00:00 1970 +0000
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
264 summary: Removed tag bar
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
265
4266
fe7f38dda34b tags: fix abababa case, with test case
Matt Mackall <mpm@selenic.com>
parents: 4213
diff changeset
266
11744
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
267 Undo a tag with rollback:
4651
7176f278d6f9 Test attempt to remove nonexistent tag
Brendan Cully <brendan@kublai.com>
parents: 4482
diff changeset
268
11744
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
269 $ hg rollback # destroy rev 5 (restore bar)
13446
1e497df514e2 rollback: clarifies the message about the reverted state (issue2628)
Gilles Moris <gilles.moris@free.fr>
parents: 13272
diff changeset
270 repository tip rolled back to revision 4 (undo commit)
1e497df514e2 rollback: clarifies the message about the reverted state (issue2628)
Gilles Moris <gilles.moris@free.fr>
parents: 13272
diff changeset
271 working directory now based on revision 4
11744
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
272 $ hg tags
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
273 tip 4:0c192d7d5e6b
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
274 bar 1:78391a272241
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
275 $ hg tags
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
276 tip 4:0c192d7d5e6b
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
277 bar 1:78391a272241
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
278
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
279 Test tag rank:
9144
ad72e3b08bc0 test-tags: enhance the test to probe tag caching better (issue548).
Greg Ward <greg-hg@gerg.ca>
parents: 9143
diff changeset
280
11744
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
281 $ cd ..
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
282 $ hg init t3
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
283 $ cd t3
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
284 $ echo foo > foo
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
285 $ hg add foo
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
286 $ hg ci -m 'add foo' # rev 0
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
287 $ hg tag -f bar # rev 1 bar -> 0
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
288 $ hg tag -f bar # rev 2 bar -> 1
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
289 $ hg tag -fr 0 bar # rev 3 bar -> 0
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
290 $ hg tag -fr 1 bar # rev 4 bar -> 1
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
291 $ hg tag -fr 0 bar # rev 5 bar -> 0
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
292 $ hg tags
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
293 tip 5:85f05169d91d
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
294 bar 0:bbd179dfa0a7
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
295 $ hg co 3
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
296 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
297 $ echo barbar > foo
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
298 $ hg ci -m 'change foo' # rev 6
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
299 created new head
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
300 $ hg tags
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
301 tip 6:735c3ca72986
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
302 bar 0:bbd179dfa0a7
4267
8185a1ca8628 tags: require -f to replace an existing tag
Matt Mackall <mpm@selenic.com>
parents: 4266
diff changeset
303
11744
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
304 Don't allow moving tag without -f:
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
305
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
306 $ hg tag -r 3 bar
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
307 abort: tag 'bar' already exists (use -f to force)
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 11744
diff changeset
308 [255]
11744
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
309 $ hg tags
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
310 tip 6:735c3ca72986
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
311 bar 0:bbd179dfa0a7
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
312
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
313 Strip 1: expose an old head:
4482
99f411ba0380 use .extend instead of .append in readtags
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 4267
diff changeset
314
11744
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
315 $ hg --config extensions.mq= strip 5
12640
6cc4b14fb76b tests: remove redundant globs
Mads Kiilerich <mads@kiilerich.com>
parents: 12376
diff changeset
316 saved backup bundle to $TESTTMP/t3/.hg/strip-backup/*-backup.hg (glob)
11744
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
317 $ hg tags # partly stale cache
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
318 tip 5:735c3ca72986
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
319 bar 1:78391a272241
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
320 $ hg tags # up-to-date cache
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
321 tip 5:735c3ca72986
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
322 bar 1:78391a272241
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
323
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
324 Strip 2: destroy whole branch, no old head exposed
9144
ad72e3b08bc0 test-tags: enhance the test to probe tag caching better (issue548).
Greg Ward <greg-hg@gerg.ca>
parents: 9143
diff changeset
325
11744
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
326 $ hg --config extensions.mq= strip 4
12640
6cc4b14fb76b tests: remove redundant globs
Mads Kiilerich <mads@kiilerich.com>
parents: 12376
diff changeset
327 saved backup bundle to $TESTTMP/t3/.hg/strip-backup/*-backup.hg (glob)
11744
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
328 $ hg tags # partly stale
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
329 tip 4:735c3ca72986
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
330 bar 0:bbd179dfa0a7
13272
5ccdca7df211 move tags.cache and branchheads.cache to a collected cache folder .hg/cache/
jfh <jason@jasonfharris.com>
parents: 12763
diff changeset
331 $ rm -f .hg/cache/tags
11744
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
332 $ hg tags # cold cache
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
333 tip 4:735c3ca72986
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
334 bar 0:bbd179dfa0a7
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
335
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
336 Test tag rank with 3 heads:
5657
47915bf68c44 Properly check tag's existence as a local/global tag when removing it.
Osku Salerma <osku@iki.fi>
parents: 5524
diff changeset
337
11744
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
338 $ cd ..
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
339 $ hg init t4
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
340 $ cd t4
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
341 $ echo foo > foo
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
342 $ hg add
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
343 adding foo
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
344 $ hg ci -m 'add foo' # rev 0
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
345 $ hg tag bar # rev 1 bar -> 0
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
346 $ hg tag -f bar # rev 2 bar -> 1
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
347 $ hg up -qC 0
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
348 $ hg tag -fr 2 bar # rev 3 bar -> 2
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
349 $ hg tags
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
350 tip 3:197c21bbbf2c
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
351 bar 2:6fa450212aeb
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
352 $ hg up -qC 0
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
353 $ hg tag -m 'retag rev 0' -fr 0 bar # rev 4 bar -> 0, but bar stays at 2
5657
47915bf68c44 Properly check tag's existence as a local/global tag when removing it.
Osku Salerma <osku@iki.fi>
parents: 5524
diff changeset
354
11744
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
355 Bar should still point to rev 2:
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
356
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
357 $ hg tags
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
358 tip 4:3b4b14ed0202
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
359 bar 2:6fa450212aeb
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
360
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
361 Test that removing global/local tags does not get confused when trying
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
362 to remove a tag of type X which actually only exists as a type Y:
5657
47915bf68c44 Properly check tag's existence as a local/global tag when removing it.
Osku Salerma <osku@iki.fi>
parents: 5524
diff changeset
363
11744
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
364 $ cd ..
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
365 $ hg init t5
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
366 $ cd t5
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
367 $ echo foo > foo
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
368 $ hg add
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
369 adding foo
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
370 $ hg ci -m 'add foo' # rev 0
5657
47915bf68c44 Properly check tag's existence as a local/global tag when removing it.
Osku Salerma <osku@iki.fi>
parents: 5524
diff changeset
371
11744
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
372 $ hg tag -r 0 -l localtag
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
373 $ hg tag --remove localtag
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
374 abort: tag 'localtag' is not a global tag
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 11744
diff changeset
375 [255]
11744
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
376 $
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
377 $ hg tag -r 0 globaltag
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
378 $ hg tag --remove -l globaltag
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
379 abort: tag 'globaltag' is not a local tag
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 11744
diff changeset
380 [255]
11744
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
381 $ hg tags -v
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
382 tip 1:a0b6fe111088
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
383 localtag 0:bbd179dfa0a7 local
5b53aa2d4b99 tests: unify test-tags
Matt Mackall <mpm@selenic.com>
parents: 9366
diff changeset
384 globaltag 0:bbd179dfa0a7
16913
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 16857
diff changeset
385
19108
cb95716da5fe tags: update tag type only if tag node is updated (issue3911)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17345
diff changeset
386 Test for issue3911
cb95716da5fe tags: update tag type only if tag node is updated (issue3911)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17345
diff changeset
387
cb95716da5fe tags: update tag type only if tag node is updated (issue3911)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17345
diff changeset
388 $ hg tag -r 0 -l localtag2
cb95716da5fe tags: update tag type only if tag node is updated (issue3911)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17345
diff changeset
389 $ hg tag -l --remove localtag2
cb95716da5fe tags: update tag type only if tag node is updated (issue3911)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17345
diff changeset
390 $ hg tags -v
cb95716da5fe tags: update tag type only if tag node is updated (issue3911)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17345
diff changeset
391 tip 1:a0b6fe111088
cb95716da5fe tags: update tag type only if tag node is updated (issue3911)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17345
diff changeset
392 localtag 0:bbd179dfa0a7 local
cb95716da5fe tags: update tag type only if tag node is updated (issue3911)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17345
diff changeset
393 globaltag 0:bbd179dfa0a7
cb95716da5fe tags: update tag type only if tag node is updated (issue3911)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17345
diff changeset
394
cb95716da5fe tags: update tag type only if tag node is updated (issue3911)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17345
diff changeset
395 $ hg tag -r 1 -f localtag
cb95716da5fe tags: update tag type only if tag node is updated (issue3911)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17345
diff changeset
396 $ hg tags -v
cb95716da5fe tags: update tag type only if tag node is updated (issue3911)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17345
diff changeset
397 tip 2:5c70a037bb37
cb95716da5fe tags: update tag type only if tag node is updated (issue3911)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17345
diff changeset
398 localtag 1:a0b6fe111088
cb95716da5fe tags: update tag type only if tag node is updated (issue3911)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17345
diff changeset
399 globaltag 0:bbd179dfa0a7
cb95716da5fe tags: update tag type only if tag node is updated (issue3911)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17345
diff changeset
400
19646
335a558f81dc tags: write tag overwriting history also into tag cache file (issue3911)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19108
diff changeset
401 $ hg tags -v
335a558f81dc tags: write tag overwriting history also into tag cache file (issue3911)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19108
diff changeset
402 tip 2:5c70a037bb37
335a558f81dc tags: write tag overwriting history also into tag cache file (issue3911)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19108
diff changeset
403 localtag 1:a0b6fe111088
335a558f81dc tags: write tag overwriting history also into tag cache file (issue3911)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19108
diff changeset
404 globaltag 0:bbd179dfa0a7
335a558f81dc tags: write tag overwriting history also into tag cache file (issue3911)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19108
diff changeset
405
19108
cb95716da5fe tags: update tag type only if tag node is updated (issue3911)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17345
diff changeset
406 $ hg tag -r 1 localtag2
cb95716da5fe tags: update tag type only if tag node is updated (issue3911)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17345
diff changeset
407 $ hg tags -v
cb95716da5fe tags: update tag type only if tag node is updated (issue3911)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17345
diff changeset
408 tip 3:bbfb8cd42be2
cb95716da5fe tags: update tag type only if tag node is updated (issue3911)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17345
diff changeset
409 localtag2 1:a0b6fe111088
cb95716da5fe tags: update tag type only if tag node is updated (issue3911)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17345
diff changeset
410 localtag 1:a0b6fe111088
cb95716da5fe tags: update tag type only if tag node is updated (issue3911)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17345
diff changeset
411 globaltag 0:bbd179dfa0a7
cb95716da5fe tags: update tag type only if tag node is updated (issue3911)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17345
diff changeset
412
19646
335a558f81dc tags: write tag overwriting history also into tag cache file (issue3911)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19108
diff changeset
413 $ hg tags -v
335a558f81dc tags: write tag overwriting history also into tag cache file (issue3911)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19108
diff changeset
414 tip 3:bbfb8cd42be2
335a558f81dc tags: write tag overwriting history also into tag cache file (issue3911)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19108
diff changeset
415 localtag2 1:a0b6fe111088
335a558f81dc tags: write tag overwriting history also into tag cache file (issue3911)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19108
diff changeset
416 localtag 1:a0b6fe111088
335a558f81dc tags: write tag overwriting history also into tag cache file (issue3911)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19108
diff changeset
417 globaltag 0:bbd179dfa0a7
335a558f81dc tags: write tag overwriting history also into tag cache file (issue3911)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19108
diff changeset
418
16913
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 16857
diff changeset
419 $ cd ..