##// END OF EJS Templates
graft: add test to check the phase of new changesets...
Alain Leufroy -
r15918:4f9853e7 default
parent child Browse files
Show More
@@ -1,261 +1,279 b''
1 Create a repo with some stuff in it:
1 Create a repo with some stuff in it:
2
2
3 $ hg init a
3 $ hg init a
4 $ cd a
4 $ cd a
5 $ echo a > a
5 $ echo a > a
6 $ echo a > d
6 $ echo a > d
7 $ echo a > e
7 $ echo a > e
8 $ hg ci -qAm0
8 $ hg ci -qAm0
9 $ echo b > a
9 $ echo b > a
10 $ hg ci -m1 -u bar
10 $ hg ci -m1 -u bar
11 $ hg mv a b
11 $ hg mv a b
12 $ hg ci -m2
12 $ hg ci -m2
13 $ hg cp b c
13 $ hg cp b c
14 $ hg ci -m3 -u baz
14 $ hg ci -m3 -u baz
15 $ echo b > d
15 $ echo b > d
16 $ echo f > e
16 $ echo f > e
17 $ hg ci -m4
17 $ hg ci -m4
18 $ hg up -q 3
18 $ hg up -q 3
19 $ echo b > e
19 $ echo b > e
20 $ hg branch -q stable
20 $ hg branch -q stable
21 $ hg ci -m5
21 $ hg ci -m5
22 $ hg merge -q default --tool internal:local
22 $ hg merge -q default --tool internal:local
23 $ hg branch -q default
23 $ hg branch -q default
24 $ hg ci -m6
24 $ hg ci -m6
25 $ hg phase --public 3
26 $ hg phase --force --secret 6
27
28 $ hg --config extensions.graphlog= log -G --template '{author}@{rev}.{phase}: {desc}\n'
29 @ test@6.secret: 6
30 |\
31 | o test@5.draft: 5
32 | |
33 o | test@4.draft: 4
34 |/
35 o baz@3.public: 3
36 |
37 o test@2.public: 2
38 |
39 o bar@1.public: 1
40 |
41 o test@0.public: 0
42
25
43
26 Need to specify a rev:
44 Need to specify a rev:
27
45
28 $ hg graft
46 $ hg graft
29 abort: no revisions specified
47 abort: no revisions specified
30 [255]
48 [255]
31
49
32 Can't graft ancestor:
50 Can't graft ancestor:
33
51
34 $ hg graft 1 2
52 $ hg graft 1 2
35 skipping ancestor revision 1
53 skipping ancestor revision 1
36 skipping ancestor revision 2
54 skipping ancestor revision 2
37 [255]
55 [255]
38
56
39 Can't graft with dirty wd:
57 Can't graft with dirty wd:
40
58
41 $ hg up -q 0
59 $ hg up -q 0
42 $ echo foo > a
60 $ echo foo > a
43 $ hg graft 1
61 $ hg graft 1
44 abort: outstanding uncommitted changes
62 abort: outstanding uncommitted changes
45 [255]
63 [255]
46 $ hg revert a
64 $ hg revert a
47
65
48 Graft a rename:
66 Graft a rename:
49
67
50 $ hg graft 2 -u foo
68 $ hg graft 2 -u foo
51 grafting revision 2
69 grafting revision 2
52 merging a and b to b
70 merging a and b to b
53 $ hg export tip --git
71 $ hg export tip --git
54 # HG changeset patch
72 # HG changeset patch
55 # User foo
73 # User foo
56 # Date 0 0
74 # Date 0 0
57 # Node ID d2e44c99fd3f31c176ea4efb9eca9f6306c81756
75 # Node ID d2e44c99fd3f31c176ea4efb9eca9f6306c81756
58 # Parent 68795b066622ca79a25816a662041d8f78f3cd9e
76 # Parent 68795b066622ca79a25816a662041d8f78f3cd9e
59 2
77 2
60
78
61 diff --git a/a b/b
79 diff --git a/a b/b
62 rename from a
80 rename from a
63 rename to b
81 rename to b
64 --- a/a
82 --- a/a
65 +++ b/b
83 +++ b/b
66 @@ -1,1 +1,1 @@
84 @@ -1,1 +1,1 @@
67 -a
85 -a
68 +b
86 +b
69
87
70 Look for extra:source
88 Look for extra:source
71
89
72 $ hg log --debug -r tip
90 $ hg log --debug -r tip
73 changeset: 7:d2e44c99fd3f31c176ea4efb9eca9f6306c81756
91 changeset: 7:d2e44c99fd3f31c176ea4efb9eca9f6306c81756
74 tag: tip
92 tag: tip
75 phase: draft
93 phase: draft
76 parent: 0:68795b066622ca79a25816a662041d8f78f3cd9e
94 parent: 0:68795b066622ca79a25816a662041d8f78f3cd9e
77 parent: -1:0000000000000000000000000000000000000000
95 parent: -1:0000000000000000000000000000000000000000
78 manifest: 7:5d59766436fd8fbcd38e7bebef0f6eaf3eebe637
96 manifest: 7:5d59766436fd8fbcd38e7bebef0f6eaf3eebe637
79 user: foo
97 user: foo
80 date: Thu Jan 01 00:00:00 1970 +0000
98 date: Thu Jan 01 00:00:00 1970 +0000
81 files+: b
99 files+: b
82 files-: a
100 files-: a
83 extra: branch=default
101 extra: branch=default
84 extra: source=5c095ad7e90f871700f02dd1fa5012cb4498a2d4
102 extra: source=5c095ad7e90f871700f02dd1fa5012cb4498a2d4
85 description:
103 description:
86 2
104 2
87
105
88
106
89
107
90 Graft out of order, skipping a merge and a duplicate
108 Graft out of order, skipping a merge and a duplicate
91
109
92 $ hg graft 1 5 4 3 'merge()' 2 --debug
110 $ hg graft 1 5 4 3 'merge()' 2 --debug
93 skipping ungraftable merge revision 6
111 skipping ungraftable merge revision 6
94 scanning for duplicate grafts
112 scanning for duplicate grafts
95 skipping already grafted revision 2
113 skipping already grafted revision 2
96 grafting revision 1
114 grafting revision 1
97 searching for copies back to rev 1
115 searching for copies back to rev 1
98 unmatched files in local:
116 unmatched files in local:
99 a.orig
117 a.orig
100 b
118 b
101 all copies found (* = to merge, ! = divergent):
119 all copies found (* = to merge, ! = divergent):
102 b -> a *
120 b -> a *
103 checking for directory renames
121 checking for directory renames
104 resolving manifests
122 resolving manifests
105 overwrite: False, partial: False
123 overwrite: False, partial: False
106 ancestor: 68795b066622, local: d2e44c99fd3f+, remote: 5d205f8b35b6
124 ancestor: 68795b066622, local: d2e44c99fd3f+, remote: 5d205f8b35b6
107 b: local copied/moved to a -> m
125 b: local copied/moved to a -> m
108 preserving b for resolve of b
126 preserving b for resolve of b
109 updating: b 1/1 files (100.00%)
127 updating: b 1/1 files (100.00%)
110 b
128 b
111 b: searching for copy revision for a
129 b: searching for copy revision for a
112 b: copy a:b789fdd96dc2f3bd229c1dd8eedf0fc60e2b68e3
130 b: copy a:b789fdd96dc2f3bd229c1dd8eedf0fc60e2b68e3
113 grafting revision 5
131 grafting revision 5
114 searching for copies back to rev 1
132 searching for copies back to rev 1
115 unmatched files in local:
133 unmatched files in local:
116 a.orig
134 a.orig
117 resolving manifests
135 resolving manifests
118 overwrite: False, partial: False
136 overwrite: False, partial: False
119 ancestor: 4c60f11aa304, local: 6f5ea6ac8b70+, remote: 97f8bfe72746
137 ancestor: 4c60f11aa304, local: 6f5ea6ac8b70+, remote: 97f8bfe72746
120 e: remote is newer -> g
138 e: remote is newer -> g
121 updating: e 1/1 files (100.00%)
139 updating: e 1/1 files (100.00%)
122 getting e
140 getting e
123 e
141 e
124 grafting revision 4
142 grafting revision 4
125 searching for copies back to rev 1
143 searching for copies back to rev 1
126 unmatched files in local:
144 unmatched files in local:
127 a.orig
145 a.orig
128 resolving manifests
146 resolving manifests
129 overwrite: False, partial: False
147 overwrite: False, partial: False
130 ancestor: 4c60f11aa304, local: 77eb504366ab+, remote: 9c233e8e184d
148 ancestor: 4c60f11aa304, local: 77eb504366ab+, remote: 9c233e8e184d
131 e: versions differ -> m
149 e: versions differ -> m
132 d: remote is newer -> g
150 d: remote is newer -> g
133 preserving e for resolve of e
151 preserving e for resolve of e
134 updating: d 1/2 files (50.00%)
152 updating: d 1/2 files (50.00%)
135 getting d
153 getting d
136 updating: e 2/2 files (100.00%)
154 updating: e 2/2 files (100.00%)
137 picked tool 'internal:merge' for e (binary False symlink False)
155 picked tool 'internal:merge' for e (binary False symlink False)
138 merging e
156 merging e
139 my e@77eb504366ab+ other e@9c233e8e184d ancestor e@68795b066622
157 my e@77eb504366ab+ other e@9c233e8e184d ancestor e@68795b066622
140 warning: conflicts during merge.
158 warning: conflicts during merge.
141 merging e incomplete! (edit conflicts, then use 'hg resolve --mark')
159 merging e incomplete! (edit conflicts, then use 'hg resolve --mark')
142 abort: unresolved conflicts, can't continue
160 abort: unresolved conflicts, can't continue
143 (use hg resolve and hg graft --continue)
161 (use hg resolve and hg graft --continue)
144 [255]
162 [255]
145
163
146 Continue without resolve should fail:
164 Continue without resolve should fail:
147
165
148 $ hg graft -c
166 $ hg graft -c
149 grafting revision 4
167 grafting revision 4
150 abort: unresolved merge conflicts (see hg help resolve)
168 abort: unresolved merge conflicts (see hg help resolve)
151 [255]
169 [255]
152
170
153 Fix up:
171 Fix up:
154
172
155 $ echo b > e
173 $ echo b > e
156 $ hg resolve -m e
174 $ hg resolve -m e
157
175
158 Continue with a revision should fail:
176 Continue with a revision should fail:
159
177
160 $ hg graft -c 6
178 $ hg graft -c 6
161 abort: can't specify --continue and revisions
179 abort: can't specify --continue and revisions
162 [255]
180 [255]
163
181
164 Continue for real, clobber usernames
182 Continue for real, clobber usernames
165
183
166 $ hg graft -c -U
184 $ hg graft -c -U
167 grafting revision 4
185 grafting revision 4
168 grafting revision 3
186 grafting revision 3
169
187
170 Compare with original:
188 Compare with original:
171
189
172 $ hg diff -r 6
190 $ hg diff -r 6
173 $ hg status --rev 0:. -C
191 $ hg status --rev 0:. -C
174 M d
192 M d
175 M e
193 M e
176 A b
194 A b
177 a
195 a
178 A c
196 A c
179 a
197 a
180 R a
198 R a
181
199
182 View graph:
200 View graph:
183
201
184 $ hg --config extensions.graphlog= log -G --template '{author}@{rev}: {desc}\n'
202 $ hg --config extensions.graphlog= log -G --template '{author}@{rev}.{phase}: {desc}\n'
185 @ test@11: 3
203 @ test@11.draft: 3
186 |
204 |
187 o test@10: 4
205 o test@10.draft: 4
188 |
206 |
189 o test@9: 5
207 o test@9.draft: 5
190 |
208 |
191 o bar@8: 1
209 o bar@8.draft: 1
192 |
210 |
193 o foo@7: 2
211 o foo@7.draft: 2
194 |
212 |
195 | o test@6: 6
213 | o test@6.secret: 6
196 | |\
214 | |\
197 | | o test@5: 5
215 | | o test@5.draft: 5
198 | | |
216 | | |
199 | o | test@4: 4
217 | o | test@4.draft: 4
200 | |/
218 | |/
201 | o baz@3: 3
219 | o baz@3.public: 3
202 | |
220 | |
203 | o test@2: 2
221 | o test@2.public: 2
204 | |
222 | |
205 | o bar@1: 1
223 | o bar@1.public: 1
206 |/
224 |/
207 o test@0: 0
225 o test@0.public: 0
208
226
209 Graft again onto another branch should preserve the original source
227 Graft again onto another branch should preserve the original source
210 $ hg up -q 0
228 $ hg up -q 0
211 $ echo 'g'>g
229 $ echo 'g'>g
212 $ hg add g
230 $ hg add g
213 $ hg ci -m 7
231 $ hg ci -m 7
214 created new head
232 created new head
215 $ hg graft 7
233 $ hg graft 7
216 grafting revision 7
234 grafting revision 7
217
235
218 $ hg log -r 7 --template '{rev}:{node}\n'
236 $ hg log -r 7 --template '{rev}:{node}\n'
219 7:d2e44c99fd3f31c176ea4efb9eca9f6306c81756
237 7:d2e44c99fd3f31c176ea4efb9eca9f6306c81756
220 $ hg log -r 2 --template '{rev}:{node}\n'
238 $ hg log -r 2 --template '{rev}:{node}\n'
221 2:5c095ad7e90f871700f02dd1fa5012cb4498a2d4
239 2:5c095ad7e90f871700f02dd1fa5012cb4498a2d4
222
240
223 $ hg log --debug -r tip
241 $ hg log --debug -r tip
224 changeset: 13:39bb1d13572759bd1e6fc874fed1b12ece047a18
242 changeset: 13:39bb1d13572759bd1e6fc874fed1b12ece047a18
225 tag: tip
243 tag: tip
226 phase: draft
244 phase: draft
227 parent: 12:b592ea63bb0c19a6c5c44685ee29a2284f9f1b8f
245 parent: 12:b592ea63bb0c19a6c5c44685ee29a2284f9f1b8f
228 parent: -1:0000000000000000000000000000000000000000
246 parent: -1:0000000000000000000000000000000000000000
229 manifest: 13:0780e055d8f4cd12eadd5a2719481648f336f7a9
247 manifest: 13:0780e055d8f4cd12eadd5a2719481648f336f7a9
230 user: foo
248 user: foo
231 date: Thu Jan 01 00:00:00 1970 +0000
249 date: Thu Jan 01 00:00:00 1970 +0000
232 files+: b
250 files+: b
233 files-: a
251 files-: a
234 extra: branch=default
252 extra: branch=default
235 extra: source=5c095ad7e90f871700f02dd1fa5012cb4498a2d4
253 extra: source=5c095ad7e90f871700f02dd1fa5012cb4498a2d4
236 description:
254 description:
237 2
255 2
238
256
239
257
240 Disallow grafting an already grafted cset onto its original branch
258 Disallow grafting an already grafted cset onto its original branch
241 $ hg up -q 6
259 $ hg up -q 6
242 $ hg graft 7
260 $ hg graft 7
243 skipping already grafted revision 7 (was grafted from 2)
261 skipping already grafted revision 7 (was grafted from 2)
244 [255]
262 [255]
245
263
246 Disallow grafting already grafted csets with the same origin onto each other
264 Disallow grafting already grafted csets with the same origin onto each other
247 $ hg up -q 13
265 $ hg up -q 13
248 $ hg graft 2
266 $ hg graft 2
249 skipping already grafted revision 2
267 skipping already grafted revision 2
250 [255]
268 [255]
251 $ hg graft 7
269 $ hg graft 7
252 skipping already grafted revision 7 (same origin 2)
270 skipping already grafted revision 7 (same origin 2)
253 [255]
271 [255]
254
272
255 $ hg up -q 7
273 $ hg up -q 7
256 $ hg graft 2
274 $ hg graft 2
257 skipping already grafted revision 2
275 skipping already grafted revision 2
258 [255]
276 [255]
259 $ hg graft tip
277 $ hg graft tip
260 skipping already grafted revision 13 (same origin 2)
278 skipping already grafted revision 13 (same origin 2)
261 [255]
279 [255]
General Comments 0
You need to be logged in to leave comments. Login now