##// END OF EJS Templates
test: use a more verbose output in the test...
marmoute -
r42901:90d8a2a4 stable
parent child Browse files
Show More
@@ -1,1354 +1,1395 b''
1 $ echo "[extensions]" >> $HGRCPATH
1 $ echo "[extensions]" >> $HGRCPATH
2 $ echo "strip=" >> $HGRCPATH
2 $ echo "strip=" >> $HGRCPATH
3 $ echo "drawdag=$TESTDIR/drawdag.py" >> $HGRCPATH
3 $ echo "drawdag=$TESTDIR/drawdag.py" >> $HGRCPATH
4
4
5 $ restore() {
5 $ restore() {
6 > hg unbundle -q .hg/strip-backup/*
6 > hg unbundle -q .hg/strip-backup/*
7 > rm .hg/strip-backup/*
7 > rm .hg/strip-backup/*
8 > }
8 > }
9 $ teststrip() {
9 $ teststrip() {
10 > hg up -C $1
10 > hg up -C $1
11 > echo % before update $1, strip $2
11 > echo % before update $1, strip $2
12 > hg parents
12 > hg log -G -T '{rev}:{node}'
13 > hg --traceback strip $2
13 > hg --traceback strip $2
14 > echo % after update $1, strip $2
14 > echo % after update $1, strip $2
15 > hg parents
15 > hg log -G -T '{rev}:{node}'
16 > restore
16 > restore
17 > }
17 > }
18
18
19 $ hg init test
19 $ hg init test
20 $ cd test
20 $ cd test
21
21
22 $ echo foo > bar
22 $ echo foo > bar
23 $ hg ci -Ama
23 $ hg ci -Ama
24 adding bar
24 adding bar
25
25
26 $ echo more >> bar
26 $ echo more >> bar
27 $ hg ci -Amb
27 $ hg ci -Amb
28
28
29 $ echo blah >> bar
29 $ echo blah >> bar
30 $ hg ci -Amc
30 $ hg ci -Amc
31
31
32 $ hg up 1
32 $ hg up 1
33 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
33 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
34 $ echo blah >> bar
34 $ echo blah >> bar
35 $ hg ci -Amd
35 $ hg ci -Amd
36 created new head
36 created new head
37
37
38 $ echo final >> bar
38 $ echo final >> bar
39 $ hg ci -Ame
39 $ hg ci -Ame
40
40
41 $ hg log
41 $ hg log
42 changeset: 4:443431ffac4f
42 changeset: 4:443431ffac4f
43 tag: tip
43 tag: tip
44 user: test
44 user: test
45 date: Thu Jan 01 00:00:00 1970 +0000
45 date: Thu Jan 01 00:00:00 1970 +0000
46 summary: e
46 summary: e
47
47
48 changeset: 3:65bd5f99a4a3
48 changeset: 3:65bd5f99a4a3
49 parent: 1:ef3a871183d7
49 parent: 1:ef3a871183d7
50 user: test
50 user: test
51 date: Thu Jan 01 00:00:00 1970 +0000
51 date: Thu Jan 01 00:00:00 1970 +0000
52 summary: d
52 summary: d
53
53
54 changeset: 2:264128213d29
54 changeset: 2:264128213d29
55 user: test
55 user: test
56 date: Thu Jan 01 00:00:00 1970 +0000
56 date: Thu Jan 01 00:00:00 1970 +0000
57 summary: c
57 summary: c
58
58
59 changeset: 1:ef3a871183d7
59 changeset: 1:ef3a871183d7
60 user: test
60 user: test
61 date: Thu Jan 01 00:00:00 1970 +0000
61 date: Thu Jan 01 00:00:00 1970 +0000
62 summary: b
62 summary: b
63
63
64 changeset: 0:9ab35a2d17cb
64 changeset: 0:9ab35a2d17cb
65 user: test
65 user: test
66 date: Thu Jan 01 00:00:00 1970 +0000
66 date: Thu Jan 01 00:00:00 1970 +0000
67 summary: a
67 summary: a
68
68
69
69
70 $ teststrip 4 4
70 $ teststrip 4 4
71 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
71 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
72 % before update 4, strip 4
72 % before update 4, strip 4
73 changeset: 4:443431ffac4f
73 @ 4:443431ffac4f5b5a19b0b6c298a21b7ba736bcce
74 tag: tip
74 |
75 user: test
75 o 3:65bd5f99a4a376cdea23a1153f07856b0d881d64
76 date: Thu Jan 01 00:00:00 1970 +0000
76 |
77 summary: e
77 | o 2:264128213d290d868c54642d13aeaa3675551a78
78 |/
79 o 1:ef3a871183d7199c541cc140218298bbfcc6c28a
80 |
81 o 0:9ab35a2d17cb64271241ea881efcc19dd953215b
78
82
79 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
83 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
80 saved backup bundle to $TESTTMP/test/.hg/strip-backup/*-backup.hg (glob)
84 saved backup bundle to $TESTTMP/test/.hg/strip-backup/*-backup.hg (glob)
81 % after update 4, strip 4
85 % after update 4, strip 4
82 changeset: 3:65bd5f99a4a3
86 @ 3:65bd5f99a4a376cdea23a1153f07856b0d881d64
83 tag: tip
87 |
84 parent: 1:ef3a871183d7
88 | o 2:264128213d290d868c54642d13aeaa3675551a78
85 user: test
89 |/
86 date: Thu Jan 01 00:00:00 1970 +0000
90 o 1:ef3a871183d7199c541cc140218298bbfcc6c28a
87 summary: d
91 |
92 o 0:9ab35a2d17cb64271241ea881efcc19dd953215b
88
93
89 $ teststrip 4 3
94 $ teststrip 4 3
90 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
95 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
91 % before update 4, strip 3
96 % before update 4, strip 3
92 changeset: 4:443431ffac4f
97 @ 4:443431ffac4f5b5a19b0b6c298a21b7ba736bcce
93 tag: tip
98 |
94 user: test
99 o 3:65bd5f99a4a376cdea23a1153f07856b0d881d64
95 date: Thu Jan 01 00:00:00 1970 +0000
100 |
96 summary: e
101 | o 2:264128213d290d868c54642d13aeaa3675551a78
102 |/
103 o 1:ef3a871183d7199c541cc140218298bbfcc6c28a
104 |
105 o 0:9ab35a2d17cb64271241ea881efcc19dd953215b
97
106
98 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
107 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
99 saved backup bundle to $TESTTMP/test/.hg/strip-backup/*-backup.hg (glob)
108 saved backup bundle to $TESTTMP/test/.hg/strip-backup/*-backup.hg (glob)
100 % after update 4, strip 3
109 % after update 4, strip 3
101 changeset: 1:ef3a871183d7
110 o 2:264128213d290d868c54642d13aeaa3675551a78
102 user: test
111 |
103 date: Thu Jan 01 00:00:00 1970 +0000
112 @ 1:ef3a871183d7199c541cc140218298bbfcc6c28a
104 summary: b
113 |
114 o 0:9ab35a2d17cb64271241ea881efcc19dd953215b
105
115
106 $ teststrip 1 4
116 $ teststrip 1 4
107 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
117 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
108 % before update 1, strip 4
118 % before update 1, strip 4
109 changeset: 1:ef3a871183d7
119 o 4:443431ffac4f5b5a19b0b6c298a21b7ba736bcce
110 user: test
120 |
111 date: Thu Jan 01 00:00:00 1970 +0000
121 o 3:65bd5f99a4a376cdea23a1153f07856b0d881d64
112 summary: b
122 |
123 | o 2:264128213d290d868c54642d13aeaa3675551a78
124 |/
125 @ 1:ef3a871183d7199c541cc140218298bbfcc6c28a
126 |
127 o 0:9ab35a2d17cb64271241ea881efcc19dd953215b
113
128
114 saved backup bundle to $TESTTMP/test/.hg/strip-backup/*-backup.hg (glob)
129 saved backup bundle to $TESTTMP/test/.hg/strip-backup/*-backup.hg (glob)
115 % after update 1, strip 4
130 % after update 1, strip 4
116 changeset: 1:ef3a871183d7
131 o 3:65bd5f99a4a376cdea23a1153f07856b0d881d64
117 user: test
132 |
118 date: Thu Jan 01 00:00:00 1970 +0000
133 | o 2:264128213d290d868c54642d13aeaa3675551a78
119 summary: b
134 |/
135 @ 1:ef3a871183d7199c541cc140218298bbfcc6c28a
136 |
137 o 0:9ab35a2d17cb64271241ea881efcc19dd953215b
120
138
121 $ teststrip 4 2
139 $ teststrip 4 2
122 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
140 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
123 % before update 4, strip 2
141 % before update 4, strip 2
124 changeset: 4:443431ffac4f
142 @ 4:443431ffac4f5b5a19b0b6c298a21b7ba736bcce
125 tag: tip
143 |
126 user: test
144 o 3:65bd5f99a4a376cdea23a1153f07856b0d881d64
127 date: Thu Jan 01 00:00:00 1970 +0000
145 |
128 summary: e
146 | o 2:264128213d290d868c54642d13aeaa3675551a78
147 |/
148 o 1:ef3a871183d7199c541cc140218298bbfcc6c28a
149 |
150 o 0:9ab35a2d17cb64271241ea881efcc19dd953215b
129
151
130 saved backup bundle to $TESTTMP/test/.hg/strip-backup/*-backup.hg (glob)
152 saved backup bundle to $TESTTMP/test/.hg/strip-backup/*-backup.hg (glob)
131 % after update 4, strip 2
153 % after update 4, strip 2
132 changeset: 3:443431ffac4f
154 @ 3:443431ffac4f5b5a19b0b6c298a21b7ba736bcce
133 tag: tip
155 |
134 user: test
156 o 2:65bd5f99a4a376cdea23a1153f07856b0d881d64
135 date: Thu Jan 01 00:00:00 1970 +0000
157 |
136 summary: e
158 o 1:ef3a871183d7199c541cc140218298bbfcc6c28a
159 |
160 o 0:9ab35a2d17cb64271241ea881efcc19dd953215b
137
161
138 $ teststrip 4 1
162 $ teststrip 4 1
139 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
163 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
140 % before update 4, strip 1
164 % before update 4, strip 1
141 changeset: 4:264128213d29
165 @ 4:264128213d290d868c54642d13aeaa3675551a78
142 tag: tip
166 |
143 parent: 1:ef3a871183d7
167 | o 3:443431ffac4f5b5a19b0b6c298a21b7ba736bcce
144 user: test
168 | |
145 date: Thu Jan 01 00:00:00 1970 +0000
169 | o 2:65bd5f99a4a376cdea23a1153f07856b0d881d64
146 summary: c
170 |/
171 o 1:ef3a871183d7199c541cc140218298bbfcc6c28a
172 |
173 o 0:9ab35a2d17cb64271241ea881efcc19dd953215b
147
174
148 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
175 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
149 saved backup bundle to $TESTTMP/test/.hg/strip-backup/*-backup.hg (glob)
176 saved backup bundle to $TESTTMP/test/.hg/strip-backup/*-backup.hg (glob)
150 % after update 4, strip 1
177 % after update 4, strip 1
151 changeset: 0:9ab35a2d17cb
178 @ 0:9ab35a2d17cb64271241ea881efcc19dd953215b
152 tag: tip
153 user: test
154 date: Thu Jan 01 00:00:00 1970 +0000
155 summary: a
156
179
157 $ teststrip null 4
180 $ teststrip null 4
158 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
181 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
159 % before update null, strip 4
182 % before update null, strip 4
183 o 4:264128213d290d868c54642d13aeaa3675551a78
184 |
185 | o 3:443431ffac4f5b5a19b0b6c298a21b7ba736bcce
186 | |
187 | o 2:65bd5f99a4a376cdea23a1153f07856b0d881d64
188 |/
189 o 1:ef3a871183d7199c541cc140218298bbfcc6c28a
190 |
191 o 0:9ab35a2d17cb64271241ea881efcc19dd953215b
192
160 saved backup bundle to $TESTTMP/test/.hg/strip-backup/*-backup.hg (glob)
193 saved backup bundle to $TESTTMP/test/.hg/strip-backup/*-backup.hg (glob)
161 % after update null, strip 4
194 % after update null, strip 4
195 o 3:443431ffac4f5b5a19b0b6c298a21b7ba736bcce
196 |
197 o 2:65bd5f99a4a376cdea23a1153f07856b0d881d64
198 |
199 o 1:ef3a871183d7199c541cc140218298bbfcc6c28a
200 |
201 o 0:9ab35a2d17cb64271241ea881efcc19dd953215b
202
162
203
163 $ hg log
204 $ hg log
164 changeset: 4:264128213d29
205 changeset: 4:264128213d29
165 tag: tip
206 tag: tip
166 parent: 1:ef3a871183d7
207 parent: 1:ef3a871183d7
167 user: test
208 user: test
168 date: Thu Jan 01 00:00:00 1970 +0000
209 date: Thu Jan 01 00:00:00 1970 +0000
169 summary: c
210 summary: c
170
211
171 changeset: 3:443431ffac4f
212 changeset: 3:443431ffac4f
172 user: test
213 user: test
173 date: Thu Jan 01 00:00:00 1970 +0000
214 date: Thu Jan 01 00:00:00 1970 +0000
174 summary: e
215 summary: e
175
216
176 changeset: 2:65bd5f99a4a3
217 changeset: 2:65bd5f99a4a3
177 user: test
218 user: test
178 date: Thu Jan 01 00:00:00 1970 +0000
219 date: Thu Jan 01 00:00:00 1970 +0000
179 summary: d
220 summary: d
180
221
181 changeset: 1:ef3a871183d7
222 changeset: 1:ef3a871183d7
182 user: test
223 user: test
183 date: Thu Jan 01 00:00:00 1970 +0000
224 date: Thu Jan 01 00:00:00 1970 +0000
184 summary: b
225 summary: b
185
226
186 changeset: 0:9ab35a2d17cb
227 changeset: 0:9ab35a2d17cb
187 user: test
228 user: test
188 date: Thu Jan 01 00:00:00 1970 +0000
229 date: Thu Jan 01 00:00:00 1970 +0000
189 summary: a
230 summary: a
190
231
191 $ hg up -C 4
232 $ hg up -C 4
192 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
233 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
193 $ hg parents
234 $ hg parents
194 changeset: 4:264128213d29
235 changeset: 4:264128213d29
195 tag: tip
236 tag: tip
196 parent: 1:ef3a871183d7
237 parent: 1:ef3a871183d7
197 user: test
238 user: test
198 date: Thu Jan 01 00:00:00 1970 +0000
239 date: Thu Jan 01 00:00:00 1970 +0000
199 summary: c
240 summary: c
200
241
201
242
202 $ hg --traceback strip 4
243 $ hg --traceback strip 4
203 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
244 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
204 saved backup bundle to $TESTTMP/test/.hg/strip-backup/264128213d29-0b39d6bf-backup.hg
245 saved backup bundle to $TESTTMP/test/.hg/strip-backup/264128213d29-0b39d6bf-backup.hg
205 $ hg parents
246 $ hg parents
206 changeset: 1:ef3a871183d7
247 changeset: 1:ef3a871183d7
207 user: test
248 user: test
208 date: Thu Jan 01 00:00:00 1970 +0000
249 date: Thu Jan 01 00:00:00 1970 +0000
209 summary: b
250 summary: b
210
251
211 $ hg debugbundle .hg/strip-backup/*
252 $ hg debugbundle .hg/strip-backup/*
212 Stream params: {Compression: BZ}
253 Stream params: {Compression: BZ}
213 changegroup -- {nbchanges: 1, version: 02} (mandatory: True)
254 changegroup -- {nbchanges: 1, version: 02} (mandatory: True)
214 264128213d290d868c54642d13aeaa3675551a78
255 264128213d290d868c54642d13aeaa3675551a78
215 cache:rev-branch-cache -- {} (mandatory: False)
256 cache:rev-branch-cache -- {} (mandatory: False)
216 phase-heads -- {} (mandatory: True)
257 phase-heads -- {} (mandatory: True)
217 264128213d290d868c54642d13aeaa3675551a78 draft
258 264128213d290d868c54642d13aeaa3675551a78 draft
218 $ hg unbundle .hg/strip-backup/*
259 $ hg unbundle .hg/strip-backup/*
219 adding changesets
260 adding changesets
220 adding manifests
261 adding manifests
221 adding file changes
262 adding file changes
222 added 1 changesets with 0 changes to 1 files (+1 heads)
263 added 1 changesets with 0 changes to 1 files (+1 heads)
223 new changesets 264128213d29 (1 drafts)
264 new changesets 264128213d29 (1 drafts)
224 (run 'hg heads' to see heads, 'hg merge' to merge)
265 (run 'hg heads' to see heads, 'hg merge' to merge)
225 $ rm .hg/strip-backup/*
266 $ rm .hg/strip-backup/*
226 $ hg log --graph
267 $ hg log --graph
227 o changeset: 4:264128213d29
268 o changeset: 4:264128213d29
228 | tag: tip
269 | tag: tip
229 | parent: 1:ef3a871183d7
270 | parent: 1:ef3a871183d7
230 | user: test
271 | user: test
231 | date: Thu Jan 01 00:00:00 1970 +0000
272 | date: Thu Jan 01 00:00:00 1970 +0000
232 | summary: c
273 | summary: c
233 |
274 |
234 | o changeset: 3:443431ffac4f
275 | o changeset: 3:443431ffac4f
235 | | user: test
276 | | user: test
236 | | date: Thu Jan 01 00:00:00 1970 +0000
277 | | date: Thu Jan 01 00:00:00 1970 +0000
237 | | summary: e
278 | | summary: e
238 | |
279 | |
239 | o changeset: 2:65bd5f99a4a3
280 | o changeset: 2:65bd5f99a4a3
240 |/ user: test
281 |/ user: test
241 | date: Thu Jan 01 00:00:00 1970 +0000
282 | date: Thu Jan 01 00:00:00 1970 +0000
242 | summary: d
283 | summary: d
243 |
284 |
244 @ changeset: 1:ef3a871183d7
285 @ changeset: 1:ef3a871183d7
245 | user: test
286 | user: test
246 | date: Thu Jan 01 00:00:00 1970 +0000
287 | date: Thu Jan 01 00:00:00 1970 +0000
247 | summary: b
288 | summary: b
248 |
289 |
249 o changeset: 0:9ab35a2d17cb
290 o changeset: 0:9ab35a2d17cb
250 user: test
291 user: test
251 date: Thu Jan 01 00:00:00 1970 +0000
292 date: Thu Jan 01 00:00:00 1970 +0000
252 summary: a
293 summary: a
253
294
254 $ hg up -C 2
295 $ hg up -C 2
255 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
296 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
256 $ hg merge 4
297 $ hg merge 4
257 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
298 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
258 (branch merge, don't forget to commit)
299 (branch merge, don't forget to commit)
259
300
260 before strip of merge parent
301 before strip of merge parent
261
302
262 $ hg parents
303 $ hg parents
263 changeset: 2:65bd5f99a4a3
304 changeset: 2:65bd5f99a4a3
264 user: test
305 user: test
265 date: Thu Jan 01 00:00:00 1970 +0000
306 date: Thu Jan 01 00:00:00 1970 +0000
266 summary: d
307 summary: d
267
308
268 changeset: 4:264128213d29
309 changeset: 4:264128213d29
269 tag: tip
310 tag: tip
270 parent: 1:ef3a871183d7
311 parent: 1:ef3a871183d7
271 user: test
312 user: test
272 date: Thu Jan 01 00:00:00 1970 +0000
313 date: Thu Jan 01 00:00:00 1970 +0000
273 summary: c
314 summary: c
274
315
275 ##strip not allowed with merge in progress
316 ##strip not allowed with merge in progress
276 $ hg strip 4
317 $ hg strip 4
277 abort: outstanding uncommitted merge
318 abort: outstanding uncommitted merge
278 (use 'hg commit' or 'hg merge --abort')
319 (use 'hg commit' or 'hg merge --abort')
279 [255]
320 [255]
280 ##strip allowed --force with merge in progress
321 ##strip allowed --force with merge in progress
281 $ hg strip 4 --force
322 $ hg strip 4 --force
282 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
323 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
283 saved backup bundle to $TESTTMP/test/.hg/strip-backup/*-backup.hg (glob)
324 saved backup bundle to $TESTTMP/test/.hg/strip-backup/*-backup.hg (glob)
284
325
285 after strip of merge parent
326 after strip of merge parent
286
327
287 $ hg parents
328 $ hg parents
288 changeset: 1:ef3a871183d7
329 changeset: 1:ef3a871183d7
289 user: test
330 user: test
290 date: Thu Jan 01 00:00:00 1970 +0000
331 date: Thu Jan 01 00:00:00 1970 +0000
291 summary: b
332 summary: b
292
333
293 $ restore
334 $ restore
294
335
295 $ hg up
336 $ hg up
296 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
337 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
297 updated to "264128213d29: c"
338 updated to "264128213d29: c"
298 1 other heads for branch "default"
339 1 other heads for branch "default"
299 $ hg log -G
340 $ hg log -G
300 @ changeset: 4:264128213d29
341 @ changeset: 4:264128213d29
301 | tag: tip
342 | tag: tip
302 | parent: 1:ef3a871183d7
343 | parent: 1:ef3a871183d7
303 | user: test
344 | user: test
304 | date: Thu Jan 01 00:00:00 1970 +0000
345 | date: Thu Jan 01 00:00:00 1970 +0000
305 | summary: c
346 | summary: c
306 |
347 |
307 | o changeset: 3:443431ffac4f
348 | o changeset: 3:443431ffac4f
308 | | user: test
349 | | user: test
309 | | date: Thu Jan 01 00:00:00 1970 +0000
350 | | date: Thu Jan 01 00:00:00 1970 +0000
310 | | summary: e
351 | | summary: e
311 | |
352 | |
312 | o changeset: 2:65bd5f99a4a3
353 | o changeset: 2:65bd5f99a4a3
313 |/ user: test
354 |/ user: test
314 | date: Thu Jan 01 00:00:00 1970 +0000
355 | date: Thu Jan 01 00:00:00 1970 +0000
315 | summary: d
356 | summary: d
316 |
357 |
317 o changeset: 1:ef3a871183d7
358 o changeset: 1:ef3a871183d7
318 | user: test
359 | user: test
319 | date: Thu Jan 01 00:00:00 1970 +0000
360 | date: Thu Jan 01 00:00:00 1970 +0000
320 | summary: b
361 | summary: b
321 |
362 |
322 o changeset: 0:9ab35a2d17cb
363 o changeset: 0:9ab35a2d17cb
323 user: test
364 user: test
324 date: Thu Jan 01 00:00:00 1970 +0000
365 date: Thu Jan 01 00:00:00 1970 +0000
325 summary: a
366 summary: a
326
367
327
368
328 2 is parent of 3, only one strip should happen
369 2 is parent of 3, only one strip should happen
329
370
330 $ hg strip "roots(2)" 3
371 $ hg strip "roots(2)" 3
331 saved backup bundle to $TESTTMP/test/.hg/strip-backup/*-backup.hg (glob)
372 saved backup bundle to $TESTTMP/test/.hg/strip-backup/*-backup.hg (glob)
332 $ hg log -G
373 $ hg log -G
333 @ changeset: 2:264128213d29
374 @ changeset: 2:264128213d29
334 | tag: tip
375 | tag: tip
335 | user: test
376 | user: test
336 | date: Thu Jan 01 00:00:00 1970 +0000
377 | date: Thu Jan 01 00:00:00 1970 +0000
337 | summary: c
378 | summary: c
338 |
379 |
339 o changeset: 1:ef3a871183d7
380 o changeset: 1:ef3a871183d7
340 | user: test
381 | user: test
341 | date: Thu Jan 01 00:00:00 1970 +0000
382 | date: Thu Jan 01 00:00:00 1970 +0000
342 | summary: b
383 | summary: b
343 |
384 |
344 o changeset: 0:9ab35a2d17cb
385 o changeset: 0:9ab35a2d17cb
345 user: test
386 user: test
346 date: Thu Jan 01 00:00:00 1970 +0000
387 date: Thu Jan 01 00:00:00 1970 +0000
347 summary: a
388 summary: a
348
389
349 $ restore
390 $ restore
350 $ hg log -G
391 $ hg log -G
351 o changeset: 4:443431ffac4f
392 o changeset: 4:443431ffac4f
352 | tag: tip
393 | tag: tip
353 | user: test
394 | user: test
354 | date: Thu Jan 01 00:00:00 1970 +0000
395 | date: Thu Jan 01 00:00:00 1970 +0000
355 | summary: e
396 | summary: e
356 |
397 |
357 o changeset: 3:65bd5f99a4a3
398 o changeset: 3:65bd5f99a4a3
358 | parent: 1:ef3a871183d7
399 | parent: 1:ef3a871183d7
359 | user: test
400 | user: test
360 | date: Thu Jan 01 00:00:00 1970 +0000
401 | date: Thu Jan 01 00:00:00 1970 +0000
361 | summary: d
402 | summary: d
362 |
403 |
363 | @ changeset: 2:264128213d29
404 | @ changeset: 2:264128213d29
364 |/ user: test
405 |/ user: test
365 | date: Thu Jan 01 00:00:00 1970 +0000
406 | date: Thu Jan 01 00:00:00 1970 +0000
366 | summary: c
407 | summary: c
367 |
408 |
368 o changeset: 1:ef3a871183d7
409 o changeset: 1:ef3a871183d7
369 | user: test
410 | user: test
370 | date: Thu Jan 01 00:00:00 1970 +0000
411 | date: Thu Jan 01 00:00:00 1970 +0000
371 | summary: b
412 | summary: b
372 |
413 |
373 o changeset: 0:9ab35a2d17cb
414 o changeset: 0:9ab35a2d17cb
374 user: test
415 user: test
375 date: Thu Jan 01 00:00:00 1970 +0000
416 date: Thu Jan 01 00:00:00 1970 +0000
376 summary: a
417 summary: a
377
418
378 Failed hook while applying "saveheads" bundle.
419 Failed hook while applying "saveheads" bundle.
379
420
380 $ hg strip 2 --config hooks.pretxnchangegroup.bad=false
421 $ hg strip 2 --config hooks.pretxnchangegroup.bad=false
381 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
422 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
382 saved backup bundle to $TESTTMP/test/.hg/strip-backup/*-backup.hg (glob)
423 saved backup bundle to $TESTTMP/test/.hg/strip-backup/*-backup.hg (glob)
383 transaction abort!
424 transaction abort!
384 rollback completed
425 rollback completed
385 strip failed, backup bundle stored in '$TESTTMP/test/.hg/strip-backup/*-backup.hg' (glob)
426 strip failed, backup bundle stored in '$TESTTMP/test/.hg/strip-backup/*-backup.hg' (glob)
386 strip failed, unrecovered changes stored in '$TESTTMP/test/.hg/strip-backup/*-temp.hg' (glob)
427 strip failed, unrecovered changes stored in '$TESTTMP/test/.hg/strip-backup/*-temp.hg' (glob)
387 (fix the problem, then recover the changesets with "hg unbundle '$TESTTMP/test/.hg/strip-backup/*-temp.hg'") (glob)
428 (fix the problem, then recover the changesets with "hg unbundle '$TESTTMP/test/.hg/strip-backup/*-temp.hg'") (glob)
388 abort: pretxnchangegroup.bad hook exited with status 1
429 abort: pretxnchangegroup.bad hook exited with status 1
389 [255]
430 [255]
390 $ restore
431 $ restore
391 $ hg log -G
432 $ hg log -G
392 o changeset: 4:443431ffac4f
433 o changeset: 4:443431ffac4f
393 | tag: tip
434 | tag: tip
394 | user: test
435 | user: test
395 | date: Thu Jan 01 00:00:00 1970 +0000
436 | date: Thu Jan 01 00:00:00 1970 +0000
396 | summary: e
437 | summary: e
397 |
438 |
398 o changeset: 3:65bd5f99a4a3
439 o changeset: 3:65bd5f99a4a3
399 | parent: 1:ef3a871183d7
440 | parent: 1:ef3a871183d7
400 | user: test
441 | user: test
401 | date: Thu Jan 01 00:00:00 1970 +0000
442 | date: Thu Jan 01 00:00:00 1970 +0000
402 | summary: d
443 | summary: d
403 |
444 |
404 | o changeset: 2:264128213d29
445 | o changeset: 2:264128213d29
405 |/ user: test
446 |/ user: test
406 | date: Thu Jan 01 00:00:00 1970 +0000
447 | date: Thu Jan 01 00:00:00 1970 +0000
407 | summary: c
448 | summary: c
408 |
449 |
409 @ changeset: 1:ef3a871183d7
450 @ changeset: 1:ef3a871183d7
410 | user: test
451 | user: test
411 | date: Thu Jan 01 00:00:00 1970 +0000
452 | date: Thu Jan 01 00:00:00 1970 +0000
412 | summary: b
453 | summary: b
413 |
454 |
414 o changeset: 0:9ab35a2d17cb
455 o changeset: 0:9ab35a2d17cb
415 user: test
456 user: test
416 date: Thu Jan 01 00:00:00 1970 +0000
457 date: Thu Jan 01 00:00:00 1970 +0000
417 summary: a
458 summary: a
418
459
419
460
420 2 different branches: 2 strips
461 2 different branches: 2 strips
421
462
422 $ hg strip 2 4
463 $ hg strip 2 4
423 saved backup bundle to $TESTTMP/test/.hg/strip-backup/*-backup.hg (glob)
464 saved backup bundle to $TESTTMP/test/.hg/strip-backup/*-backup.hg (glob)
424 $ hg log -G
465 $ hg log -G
425 o changeset: 2:65bd5f99a4a3
466 o changeset: 2:65bd5f99a4a3
426 | tag: tip
467 | tag: tip
427 | user: test
468 | user: test
428 | date: Thu Jan 01 00:00:00 1970 +0000
469 | date: Thu Jan 01 00:00:00 1970 +0000
429 | summary: d
470 | summary: d
430 |
471 |
431 @ changeset: 1:ef3a871183d7
472 @ changeset: 1:ef3a871183d7
432 | user: test
473 | user: test
433 | date: Thu Jan 01 00:00:00 1970 +0000
474 | date: Thu Jan 01 00:00:00 1970 +0000
434 | summary: b
475 | summary: b
435 |
476 |
436 o changeset: 0:9ab35a2d17cb
477 o changeset: 0:9ab35a2d17cb
437 user: test
478 user: test
438 date: Thu Jan 01 00:00:00 1970 +0000
479 date: Thu Jan 01 00:00:00 1970 +0000
439 summary: a
480 summary: a
440
481
441 $ restore
482 $ restore
442
483
443 2 different branches and a common ancestor: 1 strip
484 2 different branches and a common ancestor: 1 strip
444
485
445 $ hg strip 1 "2|4"
486 $ hg strip 1 "2|4"
446 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
487 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
447 saved backup bundle to $TESTTMP/test/.hg/strip-backup/*-backup.hg (glob)
488 saved backup bundle to $TESTTMP/test/.hg/strip-backup/*-backup.hg (glob)
448 $ restore
489 $ restore
449
490
450 verify fncache is kept up-to-date
491 verify fncache is kept up-to-date
451
492
452 $ touch a
493 $ touch a
453 $ hg ci -qAm a
494 $ hg ci -qAm a
454 #if repofncache
495 #if repofncache
455 $ cat .hg/store/fncache | sort
496 $ cat .hg/store/fncache | sort
456 data/a.i
497 data/a.i
457 data/bar.i
498 data/bar.i
458 #endif
499 #endif
459
500
460 $ hg strip tip
501 $ hg strip tip
461 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
502 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
462 saved backup bundle to $TESTTMP/test/.hg/strip-backup/*-backup.hg (glob)
503 saved backup bundle to $TESTTMP/test/.hg/strip-backup/*-backup.hg (glob)
463 #if repofncache
504 #if repofncache
464 $ cat .hg/store/fncache
505 $ cat .hg/store/fncache
465 data/bar.i
506 data/bar.i
466 #endif
507 #endif
467
508
468 stripping an empty revset
509 stripping an empty revset
469
510
470 $ hg strip "1 and not 1"
511 $ hg strip "1 and not 1"
471 abort: empty revision set
512 abort: empty revision set
472 [255]
513 [255]
473
514
474 remove branchy history for qimport tests
515 remove branchy history for qimport tests
475
516
476 $ hg strip 3
517 $ hg strip 3
477 saved backup bundle to $TESTTMP/test/.hg/strip-backup/*-backup.hg (glob)
518 saved backup bundle to $TESTTMP/test/.hg/strip-backup/*-backup.hg (glob)
478
519
479
520
480 strip of applied mq should cleanup status file
521 strip of applied mq should cleanup status file
481
522
482 $ echo "mq=" >> $HGRCPATH
523 $ echo "mq=" >> $HGRCPATH
483 $ hg up -C 3
524 $ hg up -C 3
484 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
525 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
485 $ echo fooagain >> bar
526 $ echo fooagain >> bar
486 $ hg ci -mf
527 $ hg ci -mf
487 $ hg qimport -r tip:2
528 $ hg qimport -r tip:2
488
529
489 applied patches before strip
530 applied patches before strip
490
531
491 $ hg qapplied
532 $ hg qapplied
492 d
533 d
493 e
534 e
494 f
535 f
495
536
496 stripping revision in queue
537 stripping revision in queue
497
538
498 $ hg strip 3
539 $ hg strip 3
499 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
540 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
500 saved backup bundle to $TESTTMP/test/.hg/strip-backup/*-backup.hg (glob)
541 saved backup bundle to $TESTTMP/test/.hg/strip-backup/*-backup.hg (glob)
501
542
502 applied patches after stripping rev in queue
543 applied patches after stripping rev in queue
503
544
504 $ hg qapplied
545 $ hg qapplied
505 d
546 d
506
547
507 stripping ancestor of queue
548 stripping ancestor of queue
508
549
509 $ hg strip 1
550 $ hg strip 1
510 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
551 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
511 saved backup bundle to $TESTTMP/test/.hg/strip-backup/*-backup.hg (glob)
552 saved backup bundle to $TESTTMP/test/.hg/strip-backup/*-backup.hg (glob)
512
553
513 applied patches after stripping ancestor of queue
554 applied patches after stripping ancestor of queue
514
555
515 $ hg qapplied
556 $ hg qapplied
516
557
517 Verify strip protects against stripping wc parent when there are uncommitted mods
558 Verify strip protects against stripping wc parent when there are uncommitted mods
518
559
519 $ echo b > b
560 $ echo b > b
520 $ echo bb > bar
561 $ echo bb > bar
521 $ hg add b
562 $ hg add b
522 $ hg ci -m 'b'
563 $ hg ci -m 'b'
523 $ hg log --graph
564 $ hg log --graph
524 @ changeset: 1:76dcf9fab855
565 @ changeset: 1:76dcf9fab855
525 | tag: tip
566 | tag: tip
526 | user: test
567 | user: test
527 | date: Thu Jan 01 00:00:00 1970 +0000
568 | date: Thu Jan 01 00:00:00 1970 +0000
528 | summary: b
569 | summary: b
529 |
570 |
530 o changeset: 0:9ab35a2d17cb
571 o changeset: 0:9ab35a2d17cb
531 user: test
572 user: test
532 date: Thu Jan 01 00:00:00 1970 +0000
573 date: Thu Jan 01 00:00:00 1970 +0000
533 summary: a
574 summary: a
534
575
535 $ hg up 0
576 $ hg up 0
536 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
577 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
537 $ echo c > bar
578 $ echo c > bar
538 $ hg up -t false
579 $ hg up -t false
539 merging bar
580 merging bar
540 merging bar failed!
581 merging bar failed!
541 1 files updated, 0 files merged, 0 files removed, 1 files unresolved
582 1 files updated, 0 files merged, 0 files removed, 1 files unresolved
542 use 'hg resolve' to retry unresolved file merges
583 use 'hg resolve' to retry unresolved file merges
543 [1]
584 [1]
544 $ hg sum
585 $ hg sum
545 parent: 1:76dcf9fab855 tip
586 parent: 1:76dcf9fab855 tip
546 b
587 b
547 branch: default
588 branch: default
548 commit: 1 modified, 1 unknown, 1 unresolved
589 commit: 1 modified, 1 unknown, 1 unresolved
549 update: (current)
590 update: (current)
550 phases: 2 draft
591 phases: 2 draft
551 mq: 3 unapplied
592 mq: 3 unapplied
552
593
553 $ echo c > b
594 $ echo c > b
554 $ hg strip tip
595 $ hg strip tip
555 abort: uncommitted changes
596 abort: uncommitted changes
556 [255]
597 [255]
557 $ hg strip tip --keep
598 $ hg strip tip --keep
558 saved backup bundle to $TESTTMP/test/.hg/strip-backup/*-backup.hg (glob)
599 saved backup bundle to $TESTTMP/test/.hg/strip-backup/*-backup.hg (glob)
559 $ hg log --graph
600 $ hg log --graph
560 @ changeset: 0:9ab35a2d17cb
601 @ changeset: 0:9ab35a2d17cb
561 tag: tip
602 tag: tip
562 user: test
603 user: test
563 date: Thu Jan 01 00:00:00 1970 +0000
604 date: Thu Jan 01 00:00:00 1970 +0000
564 summary: a
605 summary: a
565
606
566 $ hg status
607 $ hg status
567 M bar
608 M bar
568 ? b
609 ? b
569 ? bar.orig
610 ? bar.orig
570
611
571 $ rm bar.orig
612 $ rm bar.orig
572 $ hg sum
613 $ hg sum
573 parent: 0:9ab35a2d17cb tip
614 parent: 0:9ab35a2d17cb tip
574 a
615 a
575 branch: default
616 branch: default
576 commit: 1 modified, 1 unknown
617 commit: 1 modified, 1 unknown
577 update: (current)
618 update: (current)
578 phases: 1 draft
619 phases: 1 draft
579 mq: 3 unapplied
620 mq: 3 unapplied
580
621
581 Strip adds, removes, modifies with --keep
622 Strip adds, removes, modifies with --keep
582
623
583 $ touch b
624 $ touch b
584 $ hg add b
625 $ hg add b
585 $ hg commit -mb
626 $ hg commit -mb
586 $ touch c
627 $ touch c
587
628
588 ... with a clean working dir
629 ... with a clean working dir
589
630
590 $ hg add c
631 $ hg add c
591 $ hg rm bar
632 $ hg rm bar
592 $ hg commit -mc
633 $ hg commit -mc
593 $ hg status
634 $ hg status
594 $ hg strip --keep tip
635 $ hg strip --keep tip
595 saved backup bundle to $TESTTMP/test/.hg/strip-backup/*-backup.hg (glob)
636 saved backup bundle to $TESTTMP/test/.hg/strip-backup/*-backup.hg (glob)
596 $ hg status
637 $ hg status
597 ! bar
638 ! bar
598 ? c
639 ? c
599
640
600 ... with a dirty working dir
641 ... with a dirty working dir
601
642
602 $ hg add c
643 $ hg add c
603 $ hg rm bar
644 $ hg rm bar
604 $ hg commit -mc
645 $ hg commit -mc
605 $ hg status
646 $ hg status
606 $ echo b > b
647 $ echo b > b
607 $ echo d > d
648 $ echo d > d
608 $ hg strip --keep tip
649 $ hg strip --keep tip
609 saved backup bundle to $TESTTMP/test/.hg/strip-backup/*-backup.hg (glob)
650 saved backup bundle to $TESTTMP/test/.hg/strip-backup/*-backup.hg (glob)
610 $ hg status
651 $ hg status
611 M b
652 M b
612 ! bar
653 ! bar
613 ? c
654 ? c
614 ? d
655 ? d
615
656
616 ... after updating the dirstate
657 ... after updating the dirstate
617 $ hg add c
658 $ hg add c
618 $ hg commit -mc
659 $ hg commit -mc
619 $ hg rm c
660 $ hg rm c
620 $ hg commit -mc
661 $ hg commit -mc
621 $ hg strip --keep '.^' -q
662 $ hg strip --keep '.^' -q
622 $ cd ..
663 $ cd ..
623
664
624 stripping many nodes on a complex graph (issue3299)
665 stripping many nodes on a complex graph (issue3299)
625
666
626 $ hg init issue3299
667 $ hg init issue3299
627 $ cd issue3299
668 $ cd issue3299
628 $ hg debugbuilddag '@a.:a@b.:b.:x<a@a.:a<b@b.:b<a@a.:a'
669 $ hg debugbuilddag '@a.:a@b.:b.:x<a@a.:a<b@b.:b<a@a.:a'
629 $ hg strip 'not ancestors(x)'
670 $ hg strip 'not ancestors(x)'
630 saved backup bundle to $TESTTMP/issue3299/.hg/strip-backup/*-backup.hg (glob)
671 saved backup bundle to $TESTTMP/issue3299/.hg/strip-backup/*-backup.hg (glob)
631
672
632 test hg strip -B bookmark
673 test hg strip -B bookmark
633
674
634 $ cd ..
675 $ cd ..
635 $ hg init bookmarks
676 $ hg init bookmarks
636 $ cd bookmarks
677 $ cd bookmarks
637 $ hg debugbuilddag '..<2.*1/2:m<2+3:c<m+3:a<2.:b<m+2:d<2.:e<m+1:f'
678 $ hg debugbuilddag '..<2.*1/2:m<2+3:c<m+3:a<2.:b<m+2:d<2.:e<m+1:f'
638 $ hg bookmark -r 'a' 'todelete'
679 $ hg bookmark -r 'a' 'todelete'
639 $ hg bookmark -r 'b' 'B'
680 $ hg bookmark -r 'b' 'B'
640 $ hg bookmark -r 'b' 'nostrip'
681 $ hg bookmark -r 'b' 'nostrip'
641 $ hg bookmark -r 'c' 'delete'
682 $ hg bookmark -r 'c' 'delete'
642 $ hg bookmark -r 'd' 'multipledelete1'
683 $ hg bookmark -r 'd' 'multipledelete1'
643 $ hg bookmark -r 'e' 'multipledelete2'
684 $ hg bookmark -r 'e' 'multipledelete2'
644 $ hg bookmark -r 'f' 'singlenode1'
685 $ hg bookmark -r 'f' 'singlenode1'
645 $ hg bookmark -r 'f' 'singlenode2'
686 $ hg bookmark -r 'f' 'singlenode2'
646 $ hg up -C todelete
687 $ hg up -C todelete
647 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
688 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
648 (activating bookmark todelete)
689 (activating bookmark todelete)
649 $ hg strip -B nostrip
690 $ hg strip -B nostrip
650 bookmark 'nostrip' deleted
691 bookmark 'nostrip' deleted
651 abort: empty revision set
692 abort: empty revision set
652 [255]
693 [255]
653 $ hg strip -B todelete
694 $ hg strip -B todelete
654 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
695 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
655 saved backup bundle to $TESTTMP/bookmarks/.hg/strip-backup/*-backup.hg (glob)
696 saved backup bundle to $TESTTMP/bookmarks/.hg/strip-backup/*-backup.hg (glob)
656 bookmark 'todelete' deleted
697 bookmark 'todelete' deleted
657 $ hg id -ir dcbb326fdec2
698 $ hg id -ir dcbb326fdec2
658 abort: unknown revision 'dcbb326fdec2'!
699 abort: unknown revision 'dcbb326fdec2'!
659 [255]
700 [255]
660 $ hg id -ir d62d843c9a01
701 $ hg id -ir d62d843c9a01
661 d62d843c9a01
702 d62d843c9a01
662 $ hg bookmarks
703 $ hg bookmarks
663 B 9:ff43616e5d0f
704 B 9:ff43616e5d0f
664 delete 6:2702dd0c91e7
705 delete 6:2702dd0c91e7
665 multipledelete1 11:e46a4836065c
706 multipledelete1 11:e46a4836065c
666 multipledelete2 12:b4594d867745
707 multipledelete2 12:b4594d867745
667 singlenode1 13:43227190fef8
708 singlenode1 13:43227190fef8
668 singlenode2 13:43227190fef8
709 singlenode2 13:43227190fef8
669 $ hg strip -B multipledelete1 -B multipledelete2
710 $ hg strip -B multipledelete1 -B multipledelete2
670 saved backup bundle to $TESTTMP/bookmarks/.hg/strip-backup/e46a4836065c-89ec65c2-backup.hg
711 saved backup bundle to $TESTTMP/bookmarks/.hg/strip-backup/e46a4836065c-89ec65c2-backup.hg
671 bookmark 'multipledelete1' deleted
712 bookmark 'multipledelete1' deleted
672 bookmark 'multipledelete2' deleted
713 bookmark 'multipledelete2' deleted
673 $ hg id -ir e46a4836065c
714 $ hg id -ir e46a4836065c
674 abort: unknown revision 'e46a4836065c'!
715 abort: unknown revision 'e46a4836065c'!
675 [255]
716 [255]
676 $ hg id -ir b4594d867745
717 $ hg id -ir b4594d867745
677 abort: unknown revision 'b4594d867745'!
718 abort: unknown revision 'b4594d867745'!
678 [255]
719 [255]
679 $ hg strip -B singlenode1 -B singlenode2
720 $ hg strip -B singlenode1 -B singlenode2
680 saved backup bundle to $TESTTMP/bookmarks/.hg/strip-backup/43227190fef8-8da858f2-backup.hg
721 saved backup bundle to $TESTTMP/bookmarks/.hg/strip-backup/43227190fef8-8da858f2-backup.hg
681 bookmark 'singlenode1' deleted
722 bookmark 'singlenode1' deleted
682 bookmark 'singlenode2' deleted
723 bookmark 'singlenode2' deleted
683 $ hg id -ir 43227190fef8
724 $ hg id -ir 43227190fef8
684 abort: unknown revision '43227190fef8'!
725 abort: unknown revision '43227190fef8'!
685 [255]
726 [255]
686 $ hg strip -B unknownbookmark
727 $ hg strip -B unknownbookmark
687 abort: bookmark 'unknownbookmark' not found
728 abort: bookmark 'unknownbookmark' not found
688 [255]
729 [255]
689 $ hg strip -B unknownbookmark1 -B unknownbookmark2
730 $ hg strip -B unknownbookmark1 -B unknownbookmark2
690 abort: bookmark 'unknownbookmark1,unknownbookmark2' not found
731 abort: bookmark 'unknownbookmark1,unknownbookmark2' not found
691 [255]
732 [255]
692 $ hg strip -B delete -B unknownbookmark
733 $ hg strip -B delete -B unknownbookmark
693 abort: bookmark 'unknownbookmark' not found
734 abort: bookmark 'unknownbookmark' not found
694 [255]
735 [255]
695 $ hg strip -B delete
736 $ hg strip -B delete
696 saved backup bundle to $TESTTMP/bookmarks/.hg/strip-backup/*-backup.hg (glob)
737 saved backup bundle to $TESTTMP/bookmarks/.hg/strip-backup/*-backup.hg (glob)
697 bookmark 'delete' deleted
738 bookmark 'delete' deleted
698 $ hg id -ir 6:2702dd0c91e7
739 $ hg id -ir 6:2702dd0c91e7
699 abort: unknown revision '2702dd0c91e7'!
740 abort: unknown revision '2702dd0c91e7'!
700 [255]
741 [255]
701 $ hg update B
742 $ hg update B
702 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
743 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
703 (activating bookmark B)
744 (activating bookmark B)
704 $ echo a > a
745 $ echo a > a
705 $ hg add a
746 $ hg add a
706 $ hg strip -B B
747 $ hg strip -B B
707 abort: uncommitted changes
748 abort: uncommitted changes
708 [255]
749 [255]
709 $ hg bookmarks
750 $ hg bookmarks
710 * B 6:ff43616e5d0f
751 * B 6:ff43616e5d0f
711
752
712 Make sure no one adds back a -b option:
753 Make sure no one adds back a -b option:
713
754
714 $ hg strip -b tip
755 $ hg strip -b tip
715 hg strip: option -b not recognized
756 hg strip: option -b not recognized
716 hg strip [-k] [-f] [-B bookmark] [-r] REV...
757 hg strip [-k] [-f] [-B bookmark] [-r] REV...
717
758
718 strip changesets and all their descendants from the repository
759 strip changesets and all their descendants from the repository
719
760
720 (use 'hg help -e strip' to show help for the strip extension)
761 (use 'hg help -e strip' to show help for the strip extension)
721
762
722 options ([+] can be repeated):
763 options ([+] can be repeated):
723
764
724 -r --rev REV [+] strip specified revision (optional, can specify
765 -r --rev REV [+] strip specified revision (optional, can specify
725 revisions without this option)
766 revisions without this option)
726 -f --force force removal of changesets, discard uncommitted
767 -f --force force removal of changesets, discard uncommitted
727 changes (no backup)
768 changes (no backup)
728 --no-backup do not save backup bundle
769 --no-backup do not save backup bundle
729 -k --keep do not modify working directory during strip
770 -k --keep do not modify working directory during strip
730 -B --bookmark BOOKMARK [+] remove revs only reachable from given bookmark
771 -B --bookmark BOOKMARK [+] remove revs only reachable from given bookmark
731 --mq operate on patch repository
772 --mq operate on patch repository
732
773
733 (use 'hg strip -h' to show more help)
774 (use 'hg strip -h' to show more help)
734 [255]
775 [255]
735
776
736 $ cd ..
777 $ cd ..
737
778
738 Verify bundles don't get overwritten:
779 Verify bundles don't get overwritten:
739
780
740 $ hg init doublebundle
781 $ hg init doublebundle
741 $ cd doublebundle
782 $ cd doublebundle
742 $ touch a
783 $ touch a
743 $ hg commit -Aqm a
784 $ hg commit -Aqm a
744 $ touch b
785 $ touch b
745 $ hg commit -Aqm b
786 $ hg commit -Aqm b
746 $ hg strip -r 0
787 $ hg strip -r 0
747 0 files updated, 0 files merged, 2 files removed, 0 files unresolved
788 0 files updated, 0 files merged, 2 files removed, 0 files unresolved
748 saved backup bundle to $TESTTMP/doublebundle/.hg/strip-backup/3903775176ed-e68910bd-backup.hg
789 saved backup bundle to $TESTTMP/doublebundle/.hg/strip-backup/3903775176ed-e68910bd-backup.hg
749 $ ls .hg/strip-backup
790 $ ls .hg/strip-backup
750 3903775176ed-e68910bd-backup.hg
791 3903775176ed-e68910bd-backup.hg
751 #if repobundlerepo
792 #if repobundlerepo
752 $ hg pull -q -r 3903775176ed .hg/strip-backup/3903775176ed-e68910bd-backup.hg
793 $ hg pull -q -r 3903775176ed .hg/strip-backup/3903775176ed-e68910bd-backup.hg
753 $ hg strip -r 0
794 $ hg strip -r 0
754 saved backup bundle to $TESTTMP/doublebundle/.hg/strip-backup/3903775176ed-54390173-backup.hg
795 saved backup bundle to $TESTTMP/doublebundle/.hg/strip-backup/3903775176ed-54390173-backup.hg
755 $ ls .hg/strip-backup
796 $ ls .hg/strip-backup
756 3903775176ed-54390173-backup.hg
797 3903775176ed-54390173-backup.hg
757 3903775176ed-e68910bd-backup.hg
798 3903775176ed-e68910bd-backup.hg
758 #endif
799 #endif
759 $ cd ..
800 $ cd ..
760
801
761 Test that we only bundle the stripped changesets (issue4736)
802 Test that we only bundle the stripped changesets (issue4736)
762 ------------------------------------------------------------
803 ------------------------------------------------------------
763
804
764 initialization (previous repo is empty anyway)
805 initialization (previous repo is empty anyway)
765
806
766 $ hg init issue4736
807 $ hg init issue4736
767 $ cd issue4736
808 $ cd issue4736
768 $ echo a > a
809 $ echo a > a
769 $ hg add a
810 $ hg add a
770 $ hg commit -m commitA
811 $ hg commit -m commitA
771 $ echo b > b
812 $ echo b > b
772 $ hg add b
813 $ hg add b
773 $ hg commit -m commitB
814 $ hg commit -m commitB
774 $ echo c > c
815 $ echo c > c
775 $ hg add c
816 $ hg add c
776 $ hg commit -m commitC
817 $ hg commit -m commitC
777 $ hg up 'desc(commitB)'
818 $ hg up 'desc(commitB)'
778 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
819 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
779 $ echo d > d
820 $ echo d > d
780 $ hg add d
821 $ hg add d
781 $ hg commit -m commitD
822 $ hg commit -m commitD
782 created new head
823 created new head
783 $ hg up 'desc(commitC)'
824 $ hg up 'desc(commitC)'
784 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
825 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
785 $ hg merge 'desc(commitD)'
826 $ hg merge 'desc(commitD)'
786 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
827 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
787 (branch merge, don't forget to commit)
828 (branch merge, don't forget to commit)
788 $ hg ci -m 'mergeCD'
829 $ hg ci -m 'mergeCD'
789 $ hg log -G
830 $ hg log -G
790 @ changeset: 4:d8db9d137221
831 @ changeset: 4:d8db9d137221
791 |\ tag: tip
832 |\ tag: tip
792 | | parent: 2:5c51d8d6557d
833 | | parent: 2:5c51d8d6557d
793 | | parent: 3:6625a5168474
834 | | parent: 3:6625a5168474
794 | | user: test
835 | | user: test
795 | | date: Thu Jan 01 00:00:00 1970 +0000
836 | | date: Thu Jan 01 00:00:00 1970 +0000
796 | | summary: mergeCD
837 | | summary: mergeCD
797 | |
838 | |
798 | o changeset: 3:6625a5168474
839 | o changeset: 3:6625a5168474
799 | | parent: 1:eca11cf91c71
840 | | parent: 1:eca11cf91c71
800 | | user: test
841 | | user: test
801 | | date: Thu Jan 01 00:00:00 1970 +0000
842 | | date: Thu Jan 01 00:00:00 1970 +0000
802 | | summary: commitD
843 | | summary: commitD
803 | |
844 | |
804 o | changeset: 2:5c51d8d6557d
845 o | changeset: 2:5c51d8d6557d
805 |/ user: test
846 |/ user: test
806 | date: Thu Jan 01 00:00:00 1970 +0000
847 | date: Thu Jan 01 00:00:00 1970 +0000
807 | summary: commitC
848 | summary: commitC
808 |
849 |
809 o changeset: 1:eca11cf91c71
850 o changeset: 1:eca11cf91c71
810 | user: test
851 | user: test
811 | date: Thu Jan 01 00:00:00 1970 +0000
852 | date: Thu Jan 01 00:00:00 1970 +0000
812 | summary: commitB
853 | summary: commitB
813 |
854 |
814 o changeset: 0:105141ef12d0
855 o changeset: 0:105141ef12d0
815 user: test
856 user: test
816 date: Thu Jan 01 00:00:00 1970 +0000
857 date: Thu Jan 01 00:00:00 1970 +0000
817 summary: commitA
858 summary: commitA
818
859
819
860
820 Check bundle behavior:
861 Check bundle behavior:
821
862
822 $ hg bundle -r 'desc(mergeCD)' --base 'desc(commitC)' ../issue4736.hg
863 $ hg bundle -r 'desc(mergeCD)' --base 'desc(commitC)' ../issue4736.hg
823 2 changesets found
864 2 changesets found
824 #if repobundlerepo
865 #if repobundlerepo
825 $ hg log -r 'bundle()' -R ../issue4736.hg
866 $ hg log -r 'bundle()' -R ../issue4736.hg
826 changeset: 3:6625a5168474
867 changeset: 3:6625a5168474
827 parent: 1:eca11cf91c71
868 parent: 1:eca11cf91c71
828 user: test
869 user: test
829 date: Thu Jan 01 00:00:00 1970 +0000
870 date: Thu Jan 01 00:00:00 1970 +0000
830 summary: commitD
871 summary: commitD
831
872
832 changeset: 4:d8db9d137221
873 changeset: 4:d8db9d137221
833 tag: tip
874 tag: tip
834 parent: 2:5c51d8d6557d
875 parent: 2:5c51d8d6557d
835 parent: 3:6625a5168474
876 parent: 3:6625a5168474
836 user: test
877 user: test
837 date: Thu Jan 01 00:00:00 1970 +0000
878 date: Thu Jan 01 00:00:00 1970 +0000
838 summary: mergeCD
879 summary: mergeCD
839
880
840 #endif
881 #endif
841
882
842 check strip behavior
883 check strip behavior
843
884
844 $ hg --config extensions.strip= strip 'desc(commitD)' --debug
885 $ hg --config extensions.strip= strip 'desc(commitD)' --debug
845 resolving manifests
886 resolving manifests
846 branchmerge: False, force: True, partial: False
887 branchmerge: False, force: True, partial: False
847 ancestor: d8db9d137221+, local: d8db9d137221+, remote: eca11cf91c71
888 ancestor: d8db9d137221+, local: d8db9d137221+, remote: eca11cf91c71
848 c: other deleted -> r
889 c: other deleted -> r
849 removing c
890 removing c
850 d: other deleted -> r
891 d: other deleted -> r
851 removing d
892 removing d
852 starting 4 threads for background file closing (?)
893 starting 4 threads for background file closing (?)
853 0 files updated, 0 files merged, 2 files removed, 0 files unresolved
894 0 files updated, 0 files merged, 2 files removed, 0 files unresolved
854 2 changesets found
895 2 changesets found
855 list of changesets:
896 list of changesets:
856 6625a516847449b6f0fa3737b9ba56e9f0f3032c
897 6625a516847449b6f0fa3737b9ba56e9f0f3032c
857 d8db9d1372214336d2b5570f20ee468d2c72fa8b
898 d8db9d1372214336d2b5570f20ee468d2c72fa8b
858 bundle2-output-bundle: "HG20", (1 params) 3 parts total
899 bundle2-output-bundle: "HG20", (1 params) 3 parts total
859 bundle2-output-part: "changegroup" (params: 1 mandatory 1 advisory) streamed payload
900 bundle2-output-part: "changegroup" (params: 1 mandatory 1 advisory) streamed payload
860 bundle2-output-part: "cache:rev-branch-cache" (advisory) streamed payload
901 bundle2-output-part: "cache:rev-branch-cache" (advisory) streamed payload
861 bundle2-output-part: "phase-heads" 24 bytes payload
902 bundle2-output-part: "phase-heads" 24 bytes payload
862 saved backup bundle to $TESTTMP/issue4736/.hg/strip-backup/6625a5168474-345bb43d-backup.hg
903 saved backup bundle to $TESTTMP/issue4736/.hg/strip-backup/6625a5168474-345bb43d-backup.hg
863 updating the branch cache
904 updating the branch cache
864 invalid branch cache (served): tip differs
905 invalid branch cache (served): tip differs
865 $ hg log -G
906 $ hg log -G
866 o changeset: 2:5c51d8d6557d
907 o changeset: 2:5c51d8d6557d
867 | tag: tip
908 | tag: tip
868 | user: test
909 | user: test
869 | date: Thu Jan 01 00:00:00 1970 +0000
910 | date: Thu Jan 01 00:00:00 1970 +0000
870 | summary: commitC
911 | summary: commitC
871 |
912 |
872 @ changeset: 1:eca11cf91c71
913 @ changeset: 1:eca11cf91c71
873 | user: test
914 | user: test
874 | date: Thu Jan 01 00:00:00 1970 +0000
915 | date: Thu Jan 01 00:00:00 1970 +0000
875 | summary: commitB
916 | summary: commitB
876 |
917 |
877 o changeset: 0:105141ef12d0
918 o changeset: 0:105141ef12d0
878 user: test
919 user: test
879 date: Thu Jan 01 00:00:00 1970 +0000
920 date: Thu Jan 01 00:00:00 1970 +0000
880 summary: commitA
921 summary: commitA
881
922
882
923
883 strip backup content
924 strip backup content
884
925
885 #if repobundlerepo
926 #if repobundlerepo
886 $ hg log -r 'bundle()' -R .hg/strip-backup/6625a5168474-*-backup.hg
927 $ hg log -r 'bundle()' -R .hg/strip-backup/6625a5168474-*-backup.hg
887 changeset: 3:6625a5168474
928 changeset: 3:6625a5168474
888 parent: 1:eca11cf91c71
929 parent: 1:eca11cf91c71
889 user: test
930 user: test
890 date: Thu Jan 01 00:00:00 1970 +0000
931 date: Thu Jan 01 00:00:00 1970 +0000
891 summary: commitD
932 summary: commitD
892
933
893 changeset: 4:d8db9d137221
934 changeset: 4:d8db9d137221
894 tag: tip
935 tag: tip
895 parent: 2:5c51d8d6557d
936 parent: 2:5c51d8d6557d
896 parent: 3:6625a5168474
937 parent: 3:6625a5168474
897 user: test
938 user: test
898 date: Thu Jan 01 00:00:00 1970 +0000
939 date: Thu Jan 01 00:00:00 1970 +0000
899 summary: mergeCD
940 summary: mergeCD
900
941
901
942
902 #endif
943 #endif
903
944
904 Check that the phase cache is properly invalidated after a strip with bookmark.
945 Check that the phase cache is properly invalidated after a strip with bookmark.
905
946
906 $ cat > ../stripstalephasecache.py << EOF
947 $ cat > ../stripstalephasecache.py << EOF
907 > from mercurial import extensions, localrepo
948 > from mercurial import extensions, localrepo
908 > def transactioncallback(orig, repo, desc, *args, **kwargs):
949 > def transactioncallback(orig, repo, desc, *args, **kwargs):
909 > def test(transaction):
950 > def test(transaction):
910 > # observe cache inconsistency
951 > # observe cache inconsistency
911 > try:
952 > try:
912 > [repo.changelog.node(r) for r in repo.revs(b"not public()")]
953 > [repo.changelog.node(r) for r in repo.revs(b"not public()")]
913 > except IndexError:
954 > except IndexError:
914 > repo.ui.status(b"Index error!\n")
955 > repo.ui.status(b"Index error!\n")
915 > transaction = orig(repo, desc, *args, **kwargs)
956 > transaction = orig(repo, desc, *args, **kwargs)
916 > # warm up the phase cache
957 > # warm up the phase cache
917 > list(repo.revs(b"not public()"))
958 > list(repo.revs(b"not public()"))
918 > if desc != b'strip':
959 > if desc != b'strip':
919 > transaction.addpostclose(b"phase invalidation test", test)
960 > transaction.addpostclose(b"phase invalidation test", test)
920 > return transaction
961 > return transaction
921 > def extsetup(ui):
962 > def extsetup(ui):
922 > extensions.wrapfunction(localrepo.localrepository, b"transaction",
963 > extensions.wrapfunction(localrepo.localrepository, b"transaction",
923 > transactioncallback)
964 > transactioncallback)
924 > EOF
965 > EOF
925 $ hg up -C 2
966 $ hg up -C 2
926 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
967 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
927 $ echo k > k
968 $ echo k > k
928 $ hg add k
969 $ hg add k
929 $ hg commit -m commitK
970 $ hg commit -m commitK
930 $ echo l > l
971 $ echo l > l
931 $ hg add l
972 $ hg add l
932 $ hg commit -m commitL
973 $ hg commit -m commitL
933 $ hg book -r tip blah
974 $ hg book -r tip blah
934 $ hg strip ".^" --config extensions.crash=$TESTTMP/stripstalephasecache.py
975 $ hg strip ".^" --config extensions.crash=$TESTTMP/stripstalephasecache.py
935 0 files updated, 0 files merged, 2 files removed, 0 files unresolved
976 0 files updated, 0 files merged, 2 files removed, 0 files unresolved
936 saved backup bundle to $TESTTMP/issue4736/.hg/strip-backup/8f0b4384875c-4fa10deb-backup.hg
977 saved backup bundle to $TESTTMP/issue4736/.hg/strip-backup/8f0b4384875c-4fa10deb-backup.hg
937 $ hg up -C 1
978 $ hg up -C 1
938 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
979 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
939
980
940 Error during post-close callback of the strip transaction
981 Error during post-close callback of the strip transaction
941 (They should be gracefully handled and reported)
982 (They should be gracefully handled and reported)
942
983
943 $ cat > ../crashstrip.py << EOF
984 $ cat > ../crashstrip.py << EOF
944 > from mercurial import error
985 > from mercurial import error
945 > def reposetup(ui, repo):
986 > def reposetup(ui, repo):
946 > class crashstriprepo(repo.__class__):
987 > class crashstriprepo(repo.__class__):
947 > def transaction(self, desc, *args, **kwargs):
988 > def transaction(self, desc, *args, **kwargs):
948 > tr = super(crashstriprepo, self).transaction(desc, *args, **kwargs)
989 > tr = super(crashstriprepo, self).transaction(desc, *args, **kwargs)
949 > if desc == b'strip':
990 > if desc == b'strip':
950 > def crash(tra): raise error.Abort(b'boom')
991 > def crash(tra): raise error.Abort(b'boom')
951 > tr.addpostclose(b'crash', crash)
992 > tr.addpostclose(b'crash', crash)
952 > return tr
993 > return tr
953 > repo.__class__ = crashstriprepo
994 > repo.__class__ = crashstriprepo
954 > EOF
995 > EOF
955 $ hg strip tip --config extensions.crash=$TESTTMP/crashstrip.py
996 $ hg strip tip --config extensions.crash=$TESTTMP/crashstrip.py
956 saved backup bundle to $TESTTMP/issue4736/.hg/strip-backup/5c51d8d6557d-70daef06-backup.hg
997 saved backup bundle to $TESTTMP/issue4736/.hg/strip-backup/5c51d8d6557d-70daef06-backup.hg
957 strip failed, backup bundle stored in '$TESTTMP/issue4736/.hg/strip-backup/5c51d8d6557d-70daef06-backup.hg'
998 strip failed, backup bundle stored in '$TESTTMP/issue4736/.hg/strip-backup/5c51d8d6557d-70daef06-backup.hg'
958 abort: boom
999 abort: boom
959 [255]
1000 [255]
960
1001
961 test stripping a working directory parent doesn't switch named branches
1002 test stripping a working directory parent doesn't switch named branches
962
1003
963 $ hg log -G
1004 $ hg log -G
964 @ changeset: 1:eca11cf91c71
1005 @ changeset: 1:eca11cf91c71
965 | tag: tip
1006 | tag: tip
966 | user: test
1007 | user: test
967 | date: Thu Jan 01 00:00:00 1970 +0000
1008 | date: Thu Jan 01 00:00:00 1970 +0000
968 | summary: commitB
1009 | summary: commitB
969 |
1010 |
970 o changeset: 0:105141ef12d0
1011 o changeset: 0:105141ef12d0
971 user: test
1012 user: test
972 date: Thu Jan 01 00:00:00 1970 +0000
1013 date: Thu Jan 01 00:00:00 1970 +0000
973 summary: commitA
1014 summary: commitA
974
1015
975
1016
976 $ hg branch new-branch
1017 $ hg branch new-branch
977 marked working directory as branch new-branch
1018 marked working directory as branch new-branch
978 (branches are permanent and global, did you want a bookmark?)
1019 (branches are permanent and global, did you want a bookmark?)
979 $ hg ci -m "start new branch"
1020 $ hg ci -m "start new branch"
980 $ echo 'foo' > foo.txt
1021 $ echo 'foo' > foo.txt
981 $ hg ci -Aqm foo
1022 $ hg ci -Aqm foo
982 $ hg up default
1023 $ hg up default
983 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
1024 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
984 $ echo 'bar' > bar.txt
1025 $ echo 'bar' > bar.txt
985 $ hg ci -Aqm bar
1026 $ hg ci -Aqm bar
986 $ hg up new-branch
1027 $ hg up new-branch
987 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
1028 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
988 $ hg merge default
1029 $ hg merge default
989 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1030 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
990 (branch merge, don't forget to commit)
1031 (branch merge, don't forget to commit)
991 $ hg log -G
1032 $ hg log -G
992 @ changeset: 4:35358f982181
1033 @ changeset: 4:35358f982181
993 | tag: tip
1034 | tag: tip
994 | parent: 1:eca11cf91c71
1035 | parent: 1:eca11cf91c71
995 | user: test
1036 | user: test
996 | date: Thu Jan 01 00:00:00 1970 +0000
1037 | date: Thu Jan 01 00:00:00 1970 +0000
997 | summary: bar
1038 | summary: bar
998 |
1039 |
999 | @ changeset: 3:f62c6c09b707
1040 | @ changeset: 3:f62c6c09b707
1000 | | branch: new-branch
1041 | | branch: new-branch
1001 | | user: test
1042 | | user: test
1002 | | date: Thu Jan 01 00:00:00 1970 +0000
1043 | | date: Thu Jan 01 00:00:00 1970 +0000
1003 | | summary: foo
1044 | | summary: foo
1004 | |
1045 | |
1005 | o changeset: 2:b1d33a8cadd9
1046 | o changeset: 2:b1d33a8cadd9
1006 |/ branch: new-branch
1047 |/ branch: new-branch
1007 | user: test
1048 | user: test
1008 | date: Thu Jan 01 00:00:00 1970 +0000
1049 | date: Thu Jan 01 00:00:00 1970 +0000
1009 | summary: start new branch
1050 | summary: start new branch
1010 |
1051 |
1011 o changeset: 1:eca11cf91c71
1052 o changeset: 1:eca11cf91c71
1012 | user: test
1053 | user: test
1013 | date: Thu Jan 01 00:00:00 1970 +0000
1054 | date: Thu Jan 01 00:00:00 1970 +0000
1014 | summary: commitB
1055 | summary: commitB
1015 |
1056 |
1016 o changeset: 0:105141ef12d0
1057 o changeset: 0:105141ef12d0
1017 user: test
1058 user: test
1018 date: Thu Jan 01 00:00:00 1970 +0000
1059 date: Thu Jan 01 00:00:00 1970 +0000
1019 summary: commitA
1060 summary: commitA
1020
1061
1021
1062
1022 $ hg strip --force -r 35358f982181
1063 $ hg strip --force -r 35358f982181
1023 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
1064 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
1024 saved backup bundle to $TESTTMP/issue4736/.hg/strip-backup/35358f982181-50d992d4-backup.hg
1065 saved backup bundle to $TESTTMP/issue4736/.hg/strip-backup/35358f982181-50d992d4-backup.hg
1025 $ hg log -G
1066 $ hg log -G
1026 @ changeset: 3:f62c6c09b707
1067 @ changeset: 3:f62c6c09b707
1027 | branch: new-branch
1068 | branch: new-branch
1028 | tag: tip
1069 | tag: tip
1029 | user: test
1070 | user: test
1030 | date: Thu Jan 01 00:00:00 1970 +0000
1071 | date: Thu Jan 01 00:00:00 1970 +0000
1031 | summary: foo
1072 | summary: foo
1032 |
1073 |
1033 o changeset: 2:b1d33a8cadd9
1074 o changeset: 2:b1d33a8cadd9
1034 | branch: new-branch
1075 | branch: new-branch
1035 | user: test
1076 | user: test
1036 | date: Thu Jan 01 00:00:00 1970 +0000
1077 | date: Thu Jan 01 00:00:00 1970 +0000
1037 | summary: start new branch
1078 | summary: start new branch
1038 |
1079 |
1039 o changeset: 1:eca11cf91c71
1080 o changeset: 1:eca11cf91c71
1040 | user: test
1081 | user: test
1041 | date: Thu Jan 01 00:00:00 1970 +0000
1082 | date: Thu Jan 01 00:00:00 1970 +0000
1042 | summary: commitB
1083 | summary: commitB
1043 |
1084 |
1044 o changeset: 0:105141ef12d0
1085 o changeset: 0:105141ef12d0
1045 user: test
1086 user: test
1046 date: Thu Jan 01 00:00:00 1970 +0000
1087 date: Thu Jan 01 00:00:00 1970 +0000
1047 summary: commitA
1088 summary: commitA
1048
1089
1049
1090
1050 $ hg up default
1091 $ hg up default
1051 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
1092 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
1052 $ echo 'bar' > bar.txt
1093 $ echo 'bar' > bar.txt
1053 $ hg ci -Aqm bar
1094 $ hg ci -Aqm bar
1054 $ hg up new-branch
1095 $ hg up new-branch
1055 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
1096 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
1056 $ hg merge default
1097 $ hg merge default
1057 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1098 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1058 (branch merge, don't forget to commit)
1099 (branch merge, don't forget to commit)
1059 $ hg ci -m merge
1100 $ hg ci -m merge
1060 $ hg log -G
1101 $ hg log -G
1061 @ changeset: 5:4cf5e92caec2
1102 @ changeset: 5:4cf5e92caec2
1062 |\ branch: new-branch
1103 |\ branch: new-branch
1063 | | tag: tip
1104 | | tag: tip
1064 | | parent: 3:f62c6c09b707
1105 | | parent: 3:f62c6c09b707
1065 | | parent: 4:35358f982181
1106 | | parent: 4:35358f982181
1066 | | user: test
1107 | | user: test
1067 | | date: Thu Jan 01 00:00:00 1970 +0000
1108 | | date: Thu Jan 01 00:00:00 1970 +0000
1068 | | summary: merge
1109 | | summary: merge
1069 | |
1110 | |
1070 | o changeset: 4:35358f982181
1111 | o changeset: 4:35358f982181
1071 | | parent: 1:eca11cf91c71
1112 | | parent: 1:eca11cf91c71
1072 | | user: test
1113 | | user: test
1073 | | date: Thu Jan 01 00:00:00 1970 +0000
1114 | | date: Thu Jan 01 00:00:00 1970 +0000
1074 | | summary: bar
1115 | | summary: bar
1075 | |
1116 | |
1076 o | changeset: 3:f62c6c09b707
1117 o | changeset: 3:f62c6c09b707
1077 | | branch: new-branch
1118 | | branch: new-branch
1078 | | user: test
1119 | | user: test
1079 | | date: Thu Jan 01 00:00:00 1970 +0000
1120 | | date: Thu Jan 01 00:00:00 1970 +0000
1080 | | summary: foo
1121 | | summary: foo
1081 | |
1122 | |
1082 o | changeset: 2:b1d33a8cadd9
1123 o | changeset: 2:b1d33a8cadd9
1083 |/ branch: new-branch
1124 |/ branch: new-branch
1084 | user: test
1125 | user: test
1085 | date: Thu Jan 01 00:00:00 1970 +0000
1126 | date: Thu Jan 01 00:00:00 1970 +0000
1086 | summary: start new branch
1127 | summary: start new branch
1087 |
1128 |
1088 o changeset: 1:eca11cf91c71
1129 o changeset: 1:eca11cf91c71
1089 | user: test
1130 | user: test
1090 | date: Thu Jan 01 00:00:00 1970 +0000
1131 | date: Thu Jan 01 00:00:00 1970 +0000
1091 | summary: commitB
1132 | summary: commitB
1092 |
1133 |
1093 o changeset: 0:105141ef12d0
1134 o changeset: 0:105141ef12d0
1094 user: test
1135 user: test
1095 date: Thu Jan 01 00:00:00 1970 +0000
1136 date: Thu Jan 01 00:00:00 1970 +0000
1096 summary: commitA
1137 summary: commitA
1097
1138
1098
1139
1099 $ hg strip -r 35358f982181
1140 $ hg strip -r 35358f982181
1100 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
1141 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
1101 saved backup bundle to $TESTTMP/issue4736/.hg/strip-backup/35358f982181-a6f020aa-backup.hg
1142 saved backup bundle to $TESTTMP/issue4736/.hg/strip-backup/35358f982181-a6f020aa-backup.hg
1102 $ hg log -G
1143 $ hg log -G
1103 @ changeset: 3:f62c6c09b707
1144 @ changeset: 3:f62c6c09b707
1104 | branch: new-branch
1145 | branch: new-branch
1105 | tag: tip
1146 | tag: tip
1106 | user: test
1147 | user: test
1107 | date: Thu Jan 01 00:00:00 1970 +0000
1148 | date: Thu Jan 01 00:00:00 1970 +0000
1108 | summary: foo
1149 | summary: foo
1109 |
1150 |
1110 o changeset: 2:b1d33a8cadd9
1151 o changeset: 2:b1d33a8cadd9
1111 | branch: new-branch
1152 | branch: new-branch
1112 | user: test
1153 | user: test
1113 | date: Thu Jan 01 00:00:00 1970 +0000
1154 | date: Thu Jan 01 00:00:00 1970 +0000
1114 | summary: start new branch
1155 | summary: start new branch
1115 |
1156 |
1116 o changeset: 1:eca11cf91c71
1157 o changeset: 1:eca11cf91c71
1117 | user: test
1158 | user: test
1118 | date: Thu Jan 01 00:00:00 1970 +0000
1159 | date: Thu Jan 01 00:00:00 1970 +0000
1119 | summary: commitB
1160 | summary: commitB
1120 |
1161 |
1121 o changeset: 0:105141ef12d0
1162 o changeset: 0:105141ef12d0
1122 user: test
1163 user: test
1123 date: Thu Jan 01 00:00:00 1970 +0000
1164 date: Thu Jan 01 00:00:00 1970 +0000
1124 summary: commitA
1165 summary: commitA
1125
1166
1126
1167
1127 $ hg unbundle -u $TESTTMP/issue4736/.hg/strip-backup/35358f982181-a6f020aa-backup.hg
1168 $ hg unbundle -u $TESTTMP/issue4736/.hg/strip-backup/35358f982181-a6f020aa-backup.hg
1128 adding changesets
1169 adding changesets
1129 adding manifests
1170 adding manifests
1130 adding file changes
1171 adding file changes
1131 added 2 changesets with 1 changes to 1 files
1172 added 2 changesets with 1 changes to 1 files
1132 new changesets 35358f982181:4cf5e92caec2 (2 drafts)
1173 new changesets 35358f982181:4cf5e92caec2 (2 drafts)
1133 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1174 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1134
1175
1135 $ hg strip -k -r 35358f982181
1176 $ hg strip -k -r 35358f982181
1136 saved backup bundle to $TESTTMP/issue4736/.hg/strip-backup/35358f982181-a6f020aa-backup.hg
1177 saved backup bundle to $TESTTMP/issue4736/.hg/strip-backup/35358f982181-a6f020aa-backup.hg
1137 $ hg log -G
1178 $ hg log -G
1138 @ changeset: 3:f62c6c09b707
1179 @ changeset: 3:f62c6c09b707
1139 | branch: new-branch
1180 | branch: new-branch
1140 | tag: tip
1181 | tag: tip
1141 | user: test
1182 | user: test
1142 | date: Thu Jan 01 00:00:00 1970 +0000
1183 | date: Thu Jan 01 00:00:00 1970 +0000
1143 | summary: foo
1184 | summary: foo
1144 |
1185 |
1145 o changeset: 2:b1d33a8cadd9
1186 o changeset: 2:b1d33a8cadd9
1146 | branch: new-branch
1187 | branch: new-branch
1147 | user: test
1188 | user: test
1148 | date: Thu Jan 01 00:00:00 1970 +0000
1189 | date: Thu Jan 01 00:00:00 1970 +0000
1149 | summary: start new branch
1190 | summary: start new branch
1150 |
1191 |
1151 o changeset: 1:eca11cf91c71
1192 o changeset: 1:eca11cf91c71
1152 | user: test
1193 | user: test
1153 | date: Thu Jan 01 00:00:00 1970 +0000
1194 | date: Thu Jan 01 00:00:00 1970 +0000
1154 | summary: commitB
1195 | summary: commitB
1155 |
1196 |
1156 o changeset: 0:105141ef12d0
1197 o changeset: 0:105141ef12d0
1157 user: test
1198 user: test
1158 date: Thu Jan 01 00:00:00 1970 +0000
1199 date: Thu Jan 01 00:00:00 1970 +0000
1159 summary: commitA
1200 summary: commitA
1160
1201
1161 $ hg diff
1202 $ hg diff
1162 diff -r f62c6c09b707 bar.txt
1203 diff -r f62c6c09b707 bar.txt
1163 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1204 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1164 +++ b/bar.txt Thu Jan 01 00:00:00 1970 +0000
1205 +++ b/bar.txt Thu Jan 01 00:00:00 1970 +0000
1165 @@ -0,0 +1,1 @@
1206 @@ -0,0 +1,1 @@
1166 +bar
1207 +bar
1167
1208
1168 Use delayedstrip to strip inside a transaction
1209 Use delayedstrip to strip inside a transaction
1169
1210
1170 $ cd $TESTTMP
1211 $ cd $TESTTMP
1171 $ hg init delayedstrip
1212 $ hg init delayedstrip
1172 $ cd delayedstrip
1213 $ cd delayedstrip
1173 $ hg debugdrawdag <<'EOS'
1214 $ hg debugdrawdag <<'EOS'
1174 > D
1215 > D
1175 > |
1216 > |
1176 > C F H # Commit on top of "I",
1217 > C F H # Commit on top of "I",
1177 > | |/| # Strip B+D+I+E+G+H+Z
1218 > | |/| # Strip B+D+I+E+G+H+Z
1178 > I B E G
1219 > I B E G
1179 > \|/
1220 > \|/
1180 > A Z
1221 > A Z
1181 > EOS
1222 > EOS
1182 $ cp -R . ../scmutilcleanup
1223 $ cp -R . ../scmutilcleanup
1183
1224
1184 $ hg up -C I
1225 $ hg up -C I
1185 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
1226 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
1186 $ echo 3 >> I
1227 $ echo 3 >> I
1187 $ cat > $TESTTMP/delayedstrip.py <<EOF
1228 $ cat > $TESTTMP/delayedstrip.py <<EOF
1188 > from __future__ import absolute_import
1229 > from __future__ import absolute_import
1189 > from mercurial import commands, registrar, repair
1230 > from mercurial import commands, registrar, repair
1190 > cmdtable = {}
1231 > cmdtable = {}
1191 > command = registrar.command(cmdtable)
1232 > command = registrar.command(cmdtable)
1192 > @command(b'testdelayedstrip')
1233 > @command(b'testdelayedstrip')
1193 > def testdelayedstrip(ui, repo):
1234 > def testdelayedstrip(ui, repo):
1194 > def getnodes(expr):
1235 > def getnodes(expr):
1195 > return [repo.changelog.node(r) for r in repo.revs(expr)]
1236 > return [repo.changelog.node(r) for r in repo.revs(expr)]
1196 > with repo.wlock():
1237 > with repo.wlock():
1197 > with repo.lock():
1238 > with repo.lock():
1198 > with repo.transaction(b'delayedstrip'):
1239 > with repo.transaction(b'delayedstrip'):
1199 > repair.delayedstrip(ui, repo, getnodes(b'B+I+Z+D+E'), b'J')
1240 > repair.delayedstrip(ui, repo, getnodes(b'B+I+Z+D+E'), b'J')
1200 > repair.delayedstrip(ui, repo, getnodes(b'G+H+Z'), b'I')
1241 > repair.delayedstrip(ui, repo, getnodes(b'G+H+Z'), b'I')
1201 > commands.commit(ui, repo, message=b'J', date=b'0 0')
1242 > commands.commit(ui, repo, message=b'J', date=b'0 0')
1202 > EOF
1243 > EOF
1203 $ hg testdelayedstrip --config extensions.t=$TESTTMP/delayedstrip.py
1244 $ hg testdelayedstrip --config extensions.t=$TESTTMP/delayedstrip.py
1204 warning: orphaned descendants detected, not stripping 08ebfeb61bac, 112478962961, 7fb047a69f22
1245 warning: orphaned descendants detected, not stripping 08ebfeb61bac, 112478962961, 7fb047a69f22
1205 saved backup bundle to $TESTTMP/delayedstrip/.hg/strip-backup/f585351a92f8-17475721-I.hg
1246 saved backup bundle to $TESTTMP/delayedstrip/.hg/strip-backup/f585351a92f8-17475721-I.hg
1206
1247
1207 $ hg log -G -T '{rev}:{node|short} {desc}' -r 'sort(all(), topo)'
1248 $ hg log -G -T '{rev}:{node|short} {desc}' -r 'sort(all(), topo)'
1208 @ 6:2f2d51af6205 J
1249 @ 6:2f2d51af6205 J
1209 |
1250 |
1210 o 3:08ebfeb61bac I
1251 o 3:08ebfeb61bac I
1211 |
1252 |
1212 | o 5:64a8289d2492 F
1253 | o 5:64a8289d2492 F
1213 | |
1254 | |
1214 | o 2:7fb047a69f22 E
1255 | o 2:7fb047a69f22 E
1215 |/
1256 |/
1216 | o 4:26805aba1e60 C
1257 | o 4:26805aba1e60 C
1217 | |
1258 | |
1218 | o 1:112478962961 B
1259 | o 1:112478962961 B
1219 |/
1260 |/
1220 o 0:426bada5c675 A
1261 o 0:426bada5c675 A
1221
1262
1222 Test high-level scmutil.cleanupnodes API
1263 Test high-level scmutil.cleanupnodes API
1223
1264
1224 $ cd $TESTTMP/scmutilcleanup
1265 $ cd $TESTTMP/scmutilcleanup
1225 $ hg debugdrawdag <<'EOS'
1266 $ hg debugdrawdag <<'EOS'
1226 > D2 F2 G2 # D2, F2, G2 are replacements for D, F, G
1267 > D2 F2 G2 # D2, F2, G2 are replacements for D, F, G
1227 > | | |
1268 > | | |
1228 > C H G
1269 > C H G
1229 > EOS
1270 > EOS
1230 $ for i in B C D F G I Z; do
1271 $ for i in B C D F G I Z; do
1231 > hg bookmark -i -r $i b-$i
1272 > hg bookmark -i -r $i b-$i
1232 > done
1273 > done
1233 $ hg bookmark -i -r E 'b-F@divergent1'
1274 $ hg bookmark -i -r E 'b-F@divergent1'
1234 $ hg bookmark -i -r H 'b-F@divergent2'
1275 $ hg bookmark -i -r H 'b-F@divergent2'
1235 $ hg bookmark -i -r G 'b-F@divergent3'
1276 $ hg bookmark -i -r G 'b-F@divergent3'
1236 $ cp -R . ../scmutilcleanup.obsstore
1277 $ cp -R . ../scmutilcleanup.obsstore
1237
1278
1238 $ cat > $TESTTMP/scmutilcleanup.py <<EOF
1279 $ cat > $TESTTMP/scmutilcleanup.py <<EOF
1239 > from mercurial import registrar, scmutil
1280 > from mercurial import registrar, scmutil
1240 > cmdtable = {}
1281 > cmdtable = {}
1241 > command = registrar.command(cmdtable)
1282 > command = registrar.command(cmdtable)
1242 > @command(b'testnodescleanup')
1283 > @command(b'testnodescleanup')
1243 > def testnodescleanup(ui, repo):
1284 > def testnodescleanup(ui, repo):
1244 > def nodes(expr):
1285 > def nodes(expr):
1245 > return [repo.changelog.node(r) for r in repo.revs(expr)]
1286 > return [repo.changelog.node(r) for r in repo.revs(expr)]
1246 > def node(expr):
1287 > def node(expr):
1247 > return nodes(expr)[0]
1288 > return nodes(expr)[0]
1248 > with repo.wlock():
1289 > with repo.wlock():
1249 > with repo.lock():
1290 > with repo.lock():
1250 > with repo.transaction(b'delayedstrip'):
1291 > with repo.transaction(b'delayedstrip'):
1251 > mapping = {node(b'F'): [node(b'F2')],
1292 > mapping = {node(b'F'): [node(b'F2')],
1252 > node(b'D'): [node(b'D2')],
1293 > node(b'D'): [node(b'D2')],
1253 > node(b'G'): [node(b'G2')]}
1294 > node(b'G'): [node(b'G2')]}
1254 > scmutil.cleanupnodes(repo, mapping, b'replace')
1295 > scmutil.cleanupnodes(repo, mapping, b'replace')
1255 > scmutil.cleanupnodes(repo, nodes(b'((B::)+I+Z)-D2-obsolete()'),
1296 > scmutil.cleanupnodes(repo, nodes(b'((B::)+I+Z)-D2-obsolete()'),
1256 > b'replace')
1297 > b'replace')
1257 > EOF
1298 > EOF
1258 $ hg testnodescleanup --config extensions.t=$TESTTMP/scmutilcleanup.py
1299 $ hg testnodescleanup --config extensions.t=$TESTTMP/scmutilcleanup.py
1259 warning: orphaned descendants detected, not stripping 112478962961, 1fc8102cda62, 26805aba1e60
1300 warning: orphaned descendants detected, not stripping 112478962961, 1fc8102cda62, 26805aba1e60
1260 saved backup bundle to $TESTTMP/scmutilcleanup/.hg/strip-backup/f585351a92f8-73fb7c03-replace.hg
1301 saved backup bundle to $TESTTMP/scmutilcleanup/.hg/strip-backup/f585351a92f8-73fb7c03-replace.hg
1261
1302
1262 $ hg log -G -T '{rev}:{node|short} {desc} {bookmarks}' -r 'sort(all(), topo)'
1303 $ hg log -G -T '{rev}:{node|short} {desc} {bookmarks}' -r 'sort(all(), topo)'
1263 o 8:1473d4b996d1 G2 b-F@divergent3 b-G
1304 o 8:1473d4b996d1 G2 b-F@divergent3 b-G
1264 |
1305 |
1265 | o 7:d11b3456a873 F2 b-F
1306 | o 7:d11b3456a873 F2 b-F
1266 | |
1307 | |
1267 | o 5:5cb05ba470a7 H
1308 | o 5:5cb05ba470a7 H
1268 |/|
1309 |/|
1269 | o 3:7fb047a69f22 E b-F@divergent1
1310 | o 3:7fb047a69f22 E b-F@divergent1
1270 | |
1311 | |
1271 | | o 6:7c78f703e465 D2 b-D
1312 | | o 6:7c78f703e465 D2 b-D
1272 | | |
1313 | | |
1273 | | o 4:26805aba1e60 C
1314 | | o 4:26805aba1e60 C
1274 | | |
1315 | | |
1275 | | o 2:112478962961 B
1316 | | o 2:112478962961 B
1276 | |/
1317 | |/
1277 o | 1:1fc8102cda62 G
1318 o | 1:1fc8102cda62 G
1278 /
1319 /
1279 o 0:426bada5c675 A b-B b-C b-I
1320 o 0:426bada5c675 A b-B b-C b-I
1280
1321
1281 $ hg bookmark
1322 $ hg bookmark
1282 b-B 0:426bada5c675
1323 b-B 0:426bada5c675
1283 b-C 0:426bada5c675
1324 b-C 0:426bada5c675
1284 b-D 6:7c78f703e465
1325 b-D 6:7c78f703e465
1285 b-F 7:d11b3456a873
1326 b-F 7:d11b3456a873
1286 b-F@divergent1 3:7fb047a69f22
1327 b-F@divergent1 3:7fb047a69f22
1287 b-F@divergent3 8:1473d4b996d1
1328 b-F@divergent3 8:1473d4b996d1
1288 b-G 8:1473d4b996d1
1329 b-G 8:1473d4b996d1
1289 b-I 0:426bada5c675
1330 b-I 0:426bada5c675
1290 b-Z -1:000000000000
1331 b-Z -1:000000000000
1291
1332
1292 Test the above using obsstore "by the way". Not directly related to strip, but
1333 Test the above using obsstore "by the way". Not directly related to strip, but
1293 we have reusable code here
1334 we have reusable code here
1294
1335
1295 $ cd $TESTTMP/scmutilcleanup.obsstore
1336 $ cd $TESTTMP/scmutilcleanup.obsstore
1296 $ cat >> .hg/hgrc <<EOF
1337 $ cat >> .hg/hgrc <<EOF
1297 > [experimental]
1338 > [experimental]
1298 > evolution=true
1339 > evolution=true
1299 > evolution.track-operation=1
1340 > evolution.track-operation=1
1300 > EOF
1341 > EOF
1301
1342
1302 $ hg testnodescleanup --config extensions.t=$TESTTMP/scmutilcleanup.py
1343 $ hg testnodescleanup --config extensions.t=$TESTTMP/scmutilcleanup.py
1303 4 new orphan changesets
1344 4 new orphan changesets
1304
1345
1305 $ rm .hg/localtags
1346 $ rm .hg/localtags
1306 $ hg log -G -T '{rev}:{node|short} {desc} {bookmarks}' -r 'sort(all(), topo)'
1347 $ hg log -G -T '{rev}:{node|short} {desc} {bookmarks}' -r 'sort(all(), topo)'
1307 * 12:1473d4b996d1 G2 b-F@divergent3 b-G
1348 * 12:1473d4b996d1 G2 b-F@divergent3 b-G
1308 |
1349 |
1309 | * 11:d11b3456a873 F2 b-F
1350 | * 11:d11b3456a873 F2 b-F
1310 | |
1351 | |
1311 | * 8:5cb05ba470a7 H
1352 | * 8:5cb05ba470a7 H
1312 |/|
1353 |/|
1313 | o 4:7fb047a69f22 E b-F@divergent1
1354 | o 4:7fb047a69f22 E b-F@divergent1
1314 | |
1355 | |
1315 | | * 10:7c78f703e465 D2 b-D
1356 | | * 10:7c78f703e465 D2 b-D
1316 | | |
1357 | | |
1317 | | x 6:26805aba1e60 C
1358 | | x 6:26805aba1e60 C
1318 | | |
1359 | | |
1319 | | x 3:112478962961 B
1360 | | x 3:112478962961 B
1320 | |/
1361 | |/
1321 x | 1:1fc8102cda62 G
1362 x | 1:1fc8102cda62 G
1322 /
1363 /
1323 o 0:426bada5c675 A b-B b-C b-I
1364 o 0:426bada5c675 A b-B b-C b-I
1324
1365
1325 $ hg debugobsolete
1366 $ hg debugobsolete
1326 1fc8102cda6204549f031015641606ccf5513ec3 1473d4b996d1d1b121de6b39fab6a04fbf9d873e 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '13', 'operation': 'replace', 'user': 'test'}
1367 1fc8102cda6204549f031015641606ccf5513ec3 1473d4b996d1d1b121de6b39fab6a04fbf9d873e 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '13', 'operation': 'replace', 'user': 'test'}
1327 64a8289d249234b9886244d379f15e6b650b28e3 d11b3456a873daec7c7bc53e5622e8df6d741bd2 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '13', 'operation': 'replace', 'user': 'test'}
1368 64a8289d249234b9886244d379f15e6b650b28e3 d11b3456a873daec7c7bc53e5622e8df6d741bd2 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '13', 'operation': 'replace', 'user': 'test'}
1328 f585351a92f85104bff7c284233c338b10eb1df7 7c78f703e465d73102cc8780667ce269c5208a40 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '9', 'operation': 'replace', 'user': 'test'}
1369 f585351a92f85104bff7c284233c338b10eb1df7 7c78f703e465d73102cc8780667ce269c5208a40 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '9', 'operation': 'replace', 'user': 'test'}
1329 48b9aae0607f43ff110d84e6883c151942add5ab 0 {0000000000000000000000000000000000000000} (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '0', 'operation': 'replace', 'user': 'test'}
1370 48b9aae0607f43ff110d84e6883c151942add5ab 0 {0000000000000000000000000000000000000000} (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '0', 'operation': 'replace', 'user': 'test'}
1330 112478962961147124edd43549aedd1a335e44bf 0 {426bada5c67598ca65036d57d9e4b64b0c1ce7a0} (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '0', 'operation': 'replace', 'user': 'test'}
1371 112478962961147124edd43549aedd1a335e44bf 0 {426bada5c67598ca65036d57d9e4b64b0c1ce7a0} (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '0', 'operation': 'replace', 'user': 'test'}
1331 08ebfeb61bac6e3f12079de774d285a0d6689eba 0 {426bada5c67598ca65036d57d9e4b64b0c1ce7a0} (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '0', 'operation': 'replace', 'user': 'test'}
1372 08ebfeb61bac6e3f12079de774d285a0d6689eba 0 {426bada5c67598ca65036d57d9e4b64b0c1ce7a0} (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '0', 'operation': 'replace', 'user': 'test'}
1332 26805aba1e600a82e93661149f2313866a221a7b 0 {112478962961147124edd43549aedd1a335e44bf} (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '0', 'operation': 'replace', 'user': 'test'}
1373 26805aba1e600a82e93661149f2313866a221a7b 0 {112478962961147124edd43549aedd1a335e44bf} (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '0', 'operation': 'replace', 'user': 'test'}
1333 $ cd ..
1374 $ cd ..
1334
1375
1335 Test that obsmarkers are restored even when not using generaldelta
1376 Test that obsmarkers are restored even when not using generaldelta
1336
1377
1337 $ hg --config format.usegeneraldelta=no init issue5678
1378 $ hg --config format.usegeneraldelta=no init issue5678
1338 $ cd issue5678
1379 $ cd issue5678
1339 $ cat >> .hg/hgrc <<EOF
1380 $ cat >> .hg/hgrc <<EOF
1340 > [experimental]
1381 > [experimental]
1341 > evolution=true
1382 > evolution=true
1342 > EOF
1383 > EOF
1343 $ echo a > a
1384 $ echo a > a
1344 $ hg ci -Aqm a
1385 $ hg ci -Aqm a
1345 $ hg ci --amend -m a2
1386 $ hg ci --amend -m a2
1346 $ hg debugobsolete
1387 $ hg debugobsolete
1347 cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b 489bac576828490c0bb8d45eac9e5e172e4ec0a8 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '1', 'operation': 'amend', 'user': 'test'}
1388 cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b 489bac576828490c0bb8d45eac9e5e172e4ec0a8 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '1', 'operation': 'amend', 'user': 'test'}
1348 $ hg strip .
1389 $ hg strip .
1349 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
1390 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
1350 saved backup bundle to $TESTTMP/issue5678/.hg/strip-backup/489bac576828-bef27e14-backup.hg
1391 saved backup bundle to $TESTTMP/issue5678/.hg/strip-backup/489bac576828-bef27e14-backup.hg
1351 $ hg unbundle -q .hg/strip-backup/*
1392 $ hg unbundle -q .hg/strip-backup/*
1352 $ hg debugobsolete
1393 $ hg debugobsolete
1353 cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b 489bac576828490c0bb8d45eac9e5e172e4ec0a8 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '1', 'operation': 'amend', 'user': 'test'}
1394 cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b 489bac576828490c0bb8d45eac9e5e172e4ec0a8 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '1', 'operation': 'amend', 'user': 'test'}
1354 $ cd ..
1395 $ cd ..
General Comments 0
You need to be logged in to leave comments. Login now