Mercurial > hg
annotate tests/test-graft.t @ 15718:c604a3d1969d
icasefs: disuse length check against un-normcase()-ed filenames
this patch disuses length check against un-normcase()-ed filenames
gotten by "os.listdir()", because there is no assurance that
filesystem stores filenames normalized except in letter case, even
though some case insensitive filesystems (in some environment, for
some language setting) store them in such manner.
author | FUJIWARA Katsunori <foozy@lares.dti.ne.jp> |
---|---|
date | Sat, 24 Dec 2011 00:50:56 +0900 |
parents | efdcce3fd2d5 |
children | 12309c09d19a |
rev | line source |
---|---|
15361 | 1 Create a repo with some stuff in it: |
2 | |
3 $ hg init a | |
4 $ cd a | |
5 $ echo a > a | |
6 $ echo a > d | |
7 $ echo a > e | |
8 $ hg ci -qAm0 | |
9 $ echo b > a | |
10 $ hg ci -m1 -u bar | |
11 $ hg mv a b | |
12 $ hg ci -m2 | |
13 $ hg cp b c | |
14 $ hg ci -m3 -u baz | |
15 $ echo b > d | |
16 $ echo f > e | |
17 $ hg ci -m4 | |
18 $ hg up -q 3 | |
19 $ echo b > e | |
20 $ hg branch -q stable | |
21 $ hg ci -m5 | |
22 $ hg merge -q default --tool internal:local | |
23 $ hg branch -q default | |
24 $ hg ci -m6 | |
25 | |
26 Need to specify a rev: | |
27 | |
28 $ hg graft | |
29 abort: no revisions specified | |
30 [255] | |
31 | |
32 Can't graft ancestor: | |
33 | |
34 $ hg graft 1 2 | |
35 skipping ancestor revision 1 | |
36 skipping ancestor revision 2 | |
37 [255] | |
38 | |
39 Can't graft with dirty wd: | |
40 | |
41 $ hg up -q 0 | |
42 $ echo foo > a | |
43 $ hg graft 1 | |
44 abort: outstanding uncommitted changes | |
45 [255] | |
46 $ hg revert a | |
47 | |
48 Graft a rename: | |
49 | |
50 $ hg graft 2 -u foo | |
51 grafting revision 2 | |
52 merging a and b to b | |
53 $ hg export tip --git | |
54 # HG changeset patch | |
55 # User foo | |
56 # Date 0 0 | |
57 # Node ID d2e44c99fd3f31c176ea4efb9eca9f6306c81756 | |
58 # Parent 68795b066622ca79a25816a662041d8f78f3cd9e | |
59 2 | |
60 | |
61 diff --git a/a b/b | |
62 rename from a | |
63 rename to b | |
64 --- a/a | |
65 +++ b/b | |
66 @@ -1,1 +1,1 @@ | |
67 -a | |
68 +b | |
69 | |
70 Look for extra:source | |
71 | |
72 $ hg log --debug -r tip | |
73 changeset: 7:d2e44c99fd3f31c176ea4efb9eca9f6306c81756 | |
74 tag: tip | |
75 parent: 0:68795b066622ca79a25816a662041d8f78f3cd9e | |
76 parent: -1:0000000000000000000000000000000000000000 | |
77 manifest: 7:5d59766436fd8fbcd38e7bebef0f6eaf3eebe637 | |
78 user: foo | |
79 date: Thu Jan 01 00:00:00 1970 +0000 | |
80 files+: b | |
81 files-: a | |
82 extra: branch=default | |
83 extra: source=5c095ad7e90f871700f02dd1fa5012cb4498a2d4 | |
84 description: | |
85 2 | |
86 | |
87 | |
88 | |
89 Graft out of order, skipping a merge and a duplicate | |
90 | |
91 $ hg graft 1 5 4 3 'merge()' 2 --debug | |
92 skipping ungraftable merge revision 6 | |
93 scanning for duplicate grafts | |
94 skipping already grafted revision 2 | |
95 grafting revision 1 | |
96 searching for copies back to rev 1 | |
97 unmatched files in local: | |
98 a.orig | |
99 b | |
100 all copies found (* = to merge, ! = divergent): | |
101 b -> a * | |
102 checking for directory renames | |
103 resolving manifests | |
15625
efdcce3fd2d5
merge: make debug output easier to read
Martin Geisler <mg@aragost.com>
parents:
15513
diff
changeset
|
104 overwrite: False, partial: False |
efdcce3fd2d5
merge: make debug output easier to read
Martin Geisler <mg@aragost.com>
parents:
15513
diff
changeset
|
105 ancestor: 68795b066622, local: d2e44c99fd3f+, remote: 5d205f8b35b6 |
15361 | 106 b: local copied/moved to a -> m |
107 preserving b for resolve of b | |
108 updating: b 1/1 files (100.00%) | |
109 searching for copies back to rev 1 | |
110 unmatched files in local: | |
111 a | |
112 unmatched files in other: | |
113 b | |
114 all copies found (* = to merge, ! = divergent): | |
115 b -> a * | |
116 checking for directory renames | |
117 b | |
118 b: searching for copy revision for a | |
119 b: copy a:b789fdd96dc2f3bd229c1dd8eedf0fc60e2b68e3 | |
120 grafting revision 5 | |
121 searching for copies back to rev 1 | |
122 unmatched files in local: | |
123 a.orig | |
124 resolving manifests | |
15625
efdcce3fd2d5
merge: make debug output easier to read
Martin Geisler <mg@aragost.com>
parents:
15513
diff
changeset
|
125 overwrite: False, partial: False |
efdcce3fd2d5
merge: make debug output easier to read
Martin Geisler <mg@aragost.com>
parents:
15513
diff
changeset
|
126 ancestor: 4c60f11aa304, local: 6f5ea6ac8b70+, remote: 97f8bfe72746 |
15361 | 127 e: remote is newer -> g |
128 updating: e 1/1 files (100.00%) | |
129 getting e | |
130 searching for copies back to rev 1 | |
131 unmatched files in local: | |
132 c | |
133 all copies found (* = to merge, ! = divergent): | |
134 c -> b * | |
135 checking for directory renames | |
136 e | |
137 grafting revision 4 | |
138 searching for copies back to rev 1 | |
139 unmatched files in local: | |
140 a.orig | |
141 resolving manifests | |
15625
efdcce3fd2d5
merge: make debug output easier to read
Martin Geisler <mg@aragost.com>
parents:
15513
diff
changeset
|
142 overwrite: False, partial: False |
efdcce3fd2d5
merge: make debug output easier to read
Martin Geisler <mg@aragost.com>
parents:
15513
diff
changeset
|
143 ancestor: 4c60f11aa304, local: 77eb504366ab+, remote: 9c233e8e184d |
15361 | 144 e: versions differ -> m |
145 d: remote is newer -> g | |
146 preserving e for resolve of e | |
147 updating: d 1/2 files (50.00%) | |
148 getting d | |
149 updating: e 2/2 files (100.00%) | |
150 picked tool 'internal:merge' for e (binary False symlink False) | |
151 merging e | |
152 my e@77eb504366ab+ other e@9c233e8e184d ancestor e@68795b066622 | |
153 warning: conflicts during merge. | |
15501
2371f4aea665
merge: give a special message for internal:merge failure (issue3105)
Matt Mackall <mpm@selenic.com>
parents:
15361
diff
changeset
|
154 merging e incomplete! (edit conflicts, then use 'hg resolve --mark') |
15361 | 155 searching for copies back to rev 1 |
156 unmatched files in local: | |
157 c | |
158 all copies found (* = to merge, ! = divergent): | |
159 c -> b * | |
160 checking for directory renames | |
161 abort: unresolved conflicts, can't continue | |
162 (use hg resolve and hg graft --continue) | |
163 [255] | |
164 | |
165 Continue without resolve should fail: | |
166 | |
167 $ hg graft -c | |
168 grafting revision 4 | |
169 abort: unresolved merge conflicts (see hg help resolve) | |
170 [255] | |
171 | |
172 Fix up: | |
173 | |
174 $ echo b > e | |
175 $ hg resolve -m e | |
176 | |
177 Continue with a revision should fail: | |
178 | |
179 $ hg graft -c 6 | |
180 abort: can't specify --continue and revisions | |
181 [255] | |
182 | |
183 Continue for real, clobber usernames | |
184 | |
185 $ hg graft -c -U | |
186 grafting revision 4 | |
187 grafting revision 3 | |
188 | |
189 Compare with original: | |
190 | |
191 $ hg diff -r 6 | |
192 $ hg status --rev 0:. -C | |
193 M d | |
194 M e | |
195 A b | |
196 a | |
197 A c | |
198 a | |
199 R a | |
200 | |
201 View graph: | |
202 | |
15507
7186b54b07c6
graft: use revs to make tests more readable
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
15506
diff
changeset
|
203 $ hg --config extensions.graphlog= log -G --template '{author}@{rev}: {desc}\n' |
7186b54b07c6
graft: use revs to make tests more readable
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
15506
diff
changeset
|
204 @ test@11: 3 |
15361 | 205 | |
15507
7186b54b07c6
graft: use revs to make tests more readable
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
15506
diff
changeset
|
206 o test@10: 4 |
15361 | 207 | |
15507
7186b54b07c6
graft: use revs to make tests more readable
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
15506
diff
changeset
|
208 o test@9: 5 |
15361 | 209 | |
15507
7186b54b07c6
graft: use revs to make tests more readable
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
15506
diff
changeset
|
210 o bar@8: 1 |
15361 | 211 | |
15507
7186b54b07c6
graft: use revs to make tests more readable
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
15506
diff
changeset
|
212 o foo@7: 2 |
15361 | 213 | |
15507
7186b54b07c6
graft: use revs to make tests more readable
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
15506
diff
changeset
|
214 | o test@6: 6 |
15361 | 215 | |\ |
15507
7186b54b07c6
graft: use revs to make tests more readable
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
15506
diff
changeset
|
216 | | o test@5: 5 |
15361 | 217 | | | |
15507
7186b54b07c6
graft: use revs to make tests more readable
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
15506
diff
changeset
|
218 | o | test@4: 4 |
15361 | 219 | |/ |
15507
7186b54b07c6
graft: use revs to make tests more readable
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
15506
diff
changeset
|
220 | o baz@3: 3 |
15361 | 221 | | |
15507
7186b54b07c6
graft: use revs to make tests more readable
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
15506
diff
changeset
|
222 | o test@2: 2 |
15361 | 223 | | |
15507
7186b54b07c6
graft: use revs to make tests more readable
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
15506
diff
changeset
|
224 | o bar@1: 1 |
15361 | 225 |/ |
15507
7186b54b07c6
graft: use revs to make tests more readable
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
15506
diff
changeset
|
226 o test@0: 0 |
15361 | 227 |
15506
dc9fb7015d7f
graft: preserve original source in subsequent grafts
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
15361
diff
changeset
|
228 Graft again onto another branch should preserve the original source |
dc9fb7015d7f
graft: preserve original source in subsequent grafts
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
15361
diff
changeset
|
229 $ hg up -q 0 |
dc9fb7015d7f
graft: preserve original source in subsequent grafts
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
15361
diff
changeset
|
230 $ echo 'g'>g |
dc9fb7015d7f
graft: preserve original source in subsequent grafts
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
15361
diff
changeset
|
231 $ hg add g |
dc9fb7015d7f
graft: preserve original source in subsequent grafts
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
15361
diff
changeset
|
232 $ hg ci -m 7 |
dc9fb7015d7f
graft: preserve original source in subsequent grafts
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
15361
diff
changeset
|
233 created new head |
dc9fb7015d7f
graft: preserve original source in subsequent grafts
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
15361
diff
changeset
|
234 $ hg graft 7 |
dc9fb7015d7f
graft: preserve original source in subsequent grafts
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
15361
diff
changeset
|
235 grafting revision 7 |
dc9fb7015d7f
graft: preserve original source in subsequent grafts
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
15361
diff
changeset
|
236 |
dc9fb7015d7f
graft: preserve original source in subsequent grafts
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
15361
diff
changeset
|
237 $ hg log -r 7 --template '{rev}:{node}\n' |
dc9fb7015d7f
graft: preserve original source in subsequent grafts
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
15361
diff
changeset
|
238 7:d2e44c99fd3f31c176ea4efb9eca9f6306c81756 |
dc9fb7015d7f
graft: preserve original source in subsequent grafts
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
15361
diff
changeset
|
239 $ hg log -r 2 --template '{rev}:{node}\n' |
dc9fb7015d7f
graft: preserve original source in subsequent grafts
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
15361
diff
changeset
|
240 2:5c095ad7e90f871700f02dd1fa5012cb4498a2d4 |
dc9fb7015d7f
graft: preserve original source in subsequent grafts
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
15361
diff
changeset
|
241 |
dc9fb7015d7f
graft: preserve original source in subsequent grafts
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
15361
diff
changeset
|
242 $ hg log --debug -r tip |
dc9fb7015d7f
graft: preserve original source in subsequent grafts
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
15361
diff
changeset
|
243 changeset: 13:39bb1d13572759bd1e6fc874fed1b12ece047a18 |
dc9fb7015d7f
graft: preserve original source in subsequent grafts
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
15361
diff
changeset
|
244 tag: tip |
dc9fb7015d7f
graft: preserve original source in subsequent grafts
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
15361
diff
changeset
|
245 parent: 12:b592ea63bb0c19a6c5c44685ee29a2284f9f1b8f |
dc9fb7015d7f
graft: preserve original source in subsequent grafts
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
15361
diff
changeset
|
246 parent: -1:0000000000000000000000000000000000000000 |
dc9fb7015d7f
graft: preserve original source in subsequent grafts
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
15361
diff
changeset
|
247 manifest: 13:0780e055d8f4cd12eadd5a2719481648f336f7a9 |
dc9fb7015d7f
graft: preserve original source in subsequent grafts
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
15361
diff
changeset
|
248 user: foo |
dc9fb7015d7f
graft: preserve original source in subsequent grafts
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
15361
diff
changeset
|
249 date: Thu Jan 01 00:00:00 1970 +0000 |
dc9fb7015d7f
graft: preserve original source in subsequent grafts
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
15361
diff
changeset
|
250 files+: b |
dc9fb7015d7f
graft: preserve original source in subsequent grafts
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
15361
diff
changeset
|
251 files-: a |
dc9fb7015d7f
graft: preserve original source in subsequent grafts
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
15361
diff
changeset
|
252 extra: branch=default |
dc9fb7015d7f
graft: preserve original source in subsequent grafts
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
15361
diff
changeset
|
253 extra: source=5c095ad7e90f871700f02dd1fa5012cb4498a2d4 |
dc9fb7015d7f
graft: preserve original source in subsequent grafts
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
15361
diff
changeset
|
254 description: |
dc9fb7015d7f
graft: preserve original source in subsequent grafts
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
15361
diff
changeset
|
255 2 |
dc9fb7015d7f
graft: preserve original source in subsequent grafts
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
15361
diff
changeset
|
256 |
dc9fb7015d7f
graft: preserve original source in subsequent grafts
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
15361
diff
changeset
|
257 |
15508
00276525e2b7
graft: disallow grafting grafted csets in specific situations (issue3091)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
15507
diff
changeset
|
258 Disallow grafting an already grafted cset onto its original branch |
00276525e2b7
graft: disallow grafting grafted csets in specific situations (issue3091)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
15507
diff
changeset
|
259 $ hg up -q 6 |
00276525e2b7
graft: disallow grafting grafted csets in specific situations (issue3091)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
15507
diff
changeset
|
260 $ hg graft 7 |
00276525e2b7
graft: disallow grafting grafted csets in specific situations (issue3091)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
15507
diff
changeset
|
261 skipping already grafted revision 7 (was grafted from 2) |
00276525e2b7
graft: disallow grafting grafted csets in specific situations (issue3091)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
15507
diff
changeset
|
262 [255] |
00276525e2b7
graft: disallow grafting grafted csets in specific situations (issue3091)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
15507
diff
changeset
|
263 |
00276525e2b7
graft: disallow grafting grafted csets in specific situations (issue3091)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
15507
diff
changeset
|
264 Disallow grafting already grafted csets with the same origin onto each other |
00276525e2b7
graft: disallow grafting grafted csets in specific situations (issue3091)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
15507
diff
changeset
|
265 $ hg up -q 13 |
00276525e2b7
graft: disallow grafting grafted csets in specific situations (issue3091)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
15507
diff
changeset
|
266 $ hg graft 2 |
00276525e2b7
graft: disallow grafting grafted csets in specific situations (issue3091)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
15507
diff
changeset
|
267 skipping already grafted revision 2 |
00276525e2b7
graft: disallow grafting grafted csets in specific situations (issue3091)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
15507
diff
changeset
|
268 [255] |
00276525e2b7
graft: disallow grafting grafted csets in specific situations (issue3091)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
15507
diff
changeset
|
269 $ hg graft 7 |
00276525e2b7
graft: disallow grafting grafted csets in specific situations (issue3091)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
15507
diff
changeset
|
270 skipping already grafted revision 7 (same origin 2) |
00276525e2b7
graft: disallow grafting grafted csets in specific situations (issue3091)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
15507
diff
changeset
|
271 [255] |
00276525e2b7
graft: disallow grafting grafted csets in specific situations (issue3091)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
15507
diff
changeset
|
272 |
00276525e2b7
graft: disallow grafting grafted csets in specific situations (issue3091)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
15507
diff
changeset
|
273 $ hg up -q 7 |
00276525e2b7
graft: disallow grafting grafted csets in specific situations (issue3091)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
15507
diff
changeset
|
274 $ hg graft 2 |
00276525e2b7
graft: disallow grafting grafted csets in specific situations (issue3091)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
15507
diff
changeset
|
275 skipping already grafted revision 2 |
00276525e2b7
graft: disallow grafting grafted csets in specific situations (issue3091)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
15507
diff
changeset
|
276 [255] |
00276525e2b7
graft: disallow grafting grafted csets in specific situations (issue3091)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
15507
diff
changeset
|
277 $ hg graft tip |
00276525e2b7
graft: disallow grafting grafted csets in specific situations (issue3091)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
15507
diff
changeset
|
278 skipping already grafted revision 13 (same origin 2) |
00276525e2b7
graft: disallow grafting grafted csets in specific situations (issue3091)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
15507
diff
changeset
|
279 [255] |