57 # f, fold = use commit, but fold into previous commit (combines N and N-1) |
57 # f, fold = use commit, but fold into previous commit (combines N and N-1) |
58 # d, drop = remove commit from history |
58 # d, drop = remove commit from history |
59 # m, mess = edit message without changing commit content |
59 # m, mess = edit message without changing commit content |
60 # |
60 # |
61 0 files updated, 0 files merged, 0 files removed, 0 files unresolved |
61 0 files updated, 0 files merged, 0 files removed, 0 files unresolved |
62 $ cat > commands.txt <<EOF |
62 $ hg histedit 1 --commands - --verbose <<EOF | grep histedit |
63 > pick 177f92b77385 2 c |
63 > pick 177f92b77385 2 c |
64 > drop d2ae7f538514 1 b |
64 > drop d2ae7f538514 1 b |
65 > pick 055a42cdd887 3 d |
65 > pick 055a42cdd887 3 d |
66 > fold e860deea161a 4 e |
66 > fold e860deea161a 4 e |
67 > pick 652413bf663e 5 f |
67 > pick 652413bf663e 5 f |
68 > EOF |
68 > EOF |
69 $ hg histedit 1 --commands commands.txt --verbose | grep histedit |
|
70 saved backup bundle to $TESTTMP/base/.hg/strip-backup/96e494a2d553-backup.hg (glob) |
69 saved backup bundle to $TESTTMP/base/.hg/strip-backup/96e494a2d553-backup.hg (glob) |
71 $ hg log --graph --hidden |
70 $ hg log --graph --hidden |
72 @ 8:cacdfd884a93 f |
71 @ 8:cacdfd884a93 f |
73 | |
72 | |
74 o 7:59d9f330561f d |
73 o 7:59d9f330561f d |
98 Ensure hidden revision does not prevent histedit |
97 Ensure hidden revision does not prevent histedit |
99 ------------------------------------------------- |
98 ------------------------------------------------- |
100 |
99 |
101 create an hidden revision |
100 create an hidden revision |
102 |
101 |
103 $ cat > commands.txt <<EOF |
102 $ hg histedit 6 --commands - << EOF |
104 > pick b346ab9a313d 6 c |
103 > pick b346ab9a313d 6 c |
105 > drop 59d9f330561f 7 d |
104 > drop 59d9f330561f 7 d |
106 > pick cacdfd884a93 8 f |
105 > pick cacdfd884a93 8 f |
107 > EOF |
106 > EOF |
108 $ hg histedit 6 --commands commands.txt |
|
109 0 files updated, 0 files merged, 3 files removed, 0 files unresolved |
107 0 files updated, 0 files merged, 3 files removed, 0 files unresolved |
110 0 files updated, 0 files merged, 0 files removed, 0 files unresolved |
108 0 files updated, 0 files merged, 0 files removed, 0 files unresolved |
111 $ hg log --graph |
109 $ hg log --graph |
112 @ 9:c13eb81022ca f |
110 @ 9:c13eb81022ca f |
113 | |
111 | |
115 | |
113 | |
116 o 0:cb9a9f314b8b a |
114 o 0:cb9a9f314b8b a |
117 |
115 |
118 check hidden revision are ignored (6 have hidden children 7 and 8) |
116 check hidden revision are ignored (6 have hidden children 7 and 8) |
119 |
117 |
120 $ cat > commands.txt <<EOF |
118 $ hg histedit 6 --commands - << EOF |
121 > pick b346ab9a313d 6 c |
119 > pick b346ab9a313d 6 c |
122 > pick c13eb81022ca 8 f |
120 > pick c13eb81022ca 8 f |
123 > EOF |
121 > EOF |
124 $ hg histedit 6 --commands commands.txt |
|
125 0 files updated, 0 files merged, 0 files removed, 0 files unresolved |
122 0 files updated, 0 files merged, 0 files removed, 0 files unresolved |
126 |
123 |
127 |
124 |
128 |
125 |
129 Test that rewriting leaving instability behind is allowed |
126 Test that rewriting leaving instability behind is allowed |
131 |
128 |
132 $ hg up '.^' |
129 $ hg up '.^' |
133 0 files updated, 0 files merged, 1 files removed, 0 files unresolved |
130 0 files updated, 0 files merged, 1 files removed, 0 files unresolved |
134 $ hg log -r 'children(.)' |
131 $ hg log -r 'children(.)' |
135 9:c13eb81022ca f (no-eol) |
132 9:c13eb81022ca f (no-eol) |
136 $ cat > commands.txt <<EOF |
133 $ hg histedit -r '.' --commands - <<EOF |
137 > edit b346ab9a313d 6 c |
134 > edit b346ab9a313d 6 c |
138 > EOF |
135 > EOF |
139 $ hg histedit -r '.' --commands commands.txt |
|
140 0 files updated, 0 files merged, 1 files removed, 0 files unresolved |
136 0 files updated, 0 files merged, 1 files removed, 0 files unresolved |
141 adding c |
137 adding c |
142 Make changes as needed, you may commit or record as needed now. |
138 Make changes as needed, you may commit or record as needed now. |
143 When you are finished, run hg histedit --continue to resume. |
139 When you are finished, run hg histedit --continue to resume. |
144 [1] |
140 [1] |
162 $ cd .. |
158 $ cd .. |
163 $ hg clone base droplast |
159 $ hg clone base droplast |
164 updating to branch default |
160 updating to branch default |
165 3 files updated, 0 files merged, 0 files removed, 0 files unresolved |
161 3 files updated, 0 files merged, 0 files removed, 0 files unresolved |
166 $ cd droplast |
162 $ cd droplast |
167 $ cat > commands.txt <<EOF |
163 $ hg histedit -r '40db8afa467b' --commands - << EOF |
168 > pick 40db8afa467b 10 c |
164 > pick 40db8afa467b 10 c |
169 > drop b449568bf7fc 11 f |
165 > drop b449568bf7fc 11 f |
170 > EOF |
166 > EOF |
171 $ hg histedit -r '40db8afa467b' --commands commands.txt |
|
172 0 files updated, 0 files merged, 1 files removed, 0 files unresolved |
167 0 files updated, 0 files merged, 1 files removed, 0 files unresolved |
173 $ hg log -G |
168 $ hg log -G |
174 @ 10:40db8afa467b c |
169 @ 10:40db8afa467b c |
175 | |
170 | |
176 o 0:cb9a9f314b8b a |
171 o 0:cb9a9f314b8b a |
182 $ hg add e |
177 $ hg add e |
183 $ hg commit -m g |
178 $ hg commit -m g |
184 $ echo f > f |
179 $ echo f > f |
185 $ hg add f |
180 $ hg add f |
186 $ hg commit -m h |
181 $ hg commit -m h |
187 $ cat > commands.txt <<EOF |
182 $ hg histedit -r '40db8afa467b' --commands - << EOF |
188 > pick 47a8561c0449 12 g |
183 > pick 47a8561c0449 12 g |
189 > pick 40db8afa467b 10 c |
184 > pick 40db8afa467b 10 c |
190 > drop 1b3b05f35ff0 13 h |
185 > drop 1b3b05f35ff0 13 h |
191 > EOF |
186 > EOF |
192 $ hg histedit -r '40db8afa467b' --commands commands.txt |
|
193 0 files updated, 0 files merged, 3 files removed, 0 files unresolved |
187 0 files updated, 0 files merged, 3 files removed, 0 files unresolved |
194 0 files updated, 0 files merged, 0 files removed, 0 files unresolved |
188 0 files updated, 0 files merged, 0 files removed, 0 files unresolved |
195 0 files updated, 0 files merged, 0 files removed, 0 files unresolved |
189 0 files updated, 0 files merged, 0 files removed, 0 files unresolved |
196 $ hg log -G |
190 $ hg log -G |
197 @ 15:ee6544123ab8 c |
191 @ 15:ee6544123ab8 c |
265 |
259 |
266 New-commit as draft (default) |
260 New-commit as draft (default) |
267 |
261 |
268 $ cp -r base simple-draft |
262 $ cp -r base simple-draft |
269 $ cd simple-draft |
263 $ cd simple-draft |
270 $ cat > commands.txt <<EOF |
264 $ hg histedit -r 'b449568bf7fc' --commands - << EOF |
271 > edit b449568bf7fc 11 f |
265 > edit b449568bf7fc 11 f |
272 > pick 6b70183d2492 12 g |
266 > pick 6b70183d2492 12 g |
273 > pick 7395e1ff83bd 13 h |
267 > pick 7395e1ff83bd 13 h |
274 > pick b605fb7503f2 14 i |
268 > pick b605fb7503f2 14 i |
275 > pick 3a6c53ee7f3d 15 j |
269 > pick 3a6c53ee7f3d 15 j |
276 > pick ee118ab9fa44 16 k |
270 > pick ee118ab9fa44 16 k |
277 > EOF |
271 > EOF |
278 $ hg histedit -r 'b449568bf7fc' --commands commands.txt |
|
279 0 files updated, 0 files merged, 6 files removed, 0 files unresolved |
272 0 files updated, 0 files merged, 6 files removed, 0 files unresolved |
280 adding f |
273 adding f |
281 Make changes as needed, you may commit or record as needed now. |
274 Make changes as needed, you may commit or record as needed now. |
282 When you are finished, run hg histedit --continue to resume. |
275 When you are finished, run hg histedit --continue to resume. |
283 [1] |
276 [1] |
315 $ cd simple-secret |
308 $ cd simple-secret |
316 $ cat >> .hg/hgrc << EOF |
309 $ cat >> .hg/hgrc << EOF |
317 > [phases] |
310 > [phases] |
318 > new-commit=secret |
311 > new-commit=secret |
319 > EOF |
312 > EOF |
320 $ cat > commands.txt <<EOF |
313 $ hg histedit -r 'b449568bf7fc' --commands - << EOF |
321 > edit b449568bf7fc 11 f |
314 > edit b449568bf7fc 11 f |
322 > pick 6b70183d2492 12 g |
315 > pick 6b70183d2492 12 g |
323 > pick 7395e1ff83bd 13 h |
316 > pick 7395e1ff83bd 13 h |
324 > pick b605fb7503f2 14 i |
317 > pick b605fb7503f2 14 i |
325 > pick 3a6c53ee7f3d 15 j |
318 > pick 3a6c53ee7f3d 15 j |
326 > pick ee118ab9fa44 16 k |
319 > pick ee118ab9fa44 16 k |
327 > EOF |
320 > EOF |
328 $ hg histedit -r 'b449568bf7fc' --commands commands.txt |
|
329 0 files updated, 0 files merged, 6 files removed, 0 files unresolved |
321 0 files updated, 0 files merged, 6 files removed, 0 files unresolved |
330 adding f |
322 adding f |
331 Make changes as needed, you may commit or record as needed now. |
323 Make changes as needed, you may commit or record as needed now. |
332 When you are finished, run hg histedit --continue to resume. |
324 When you are finished, run hg histedit --continue to resume. |
333 [1] |
325 [1] |
365 If a secret changeset is put before a draft one, all descendant should be secret. |
357 If a secret changeset is put before a draft one, all descendant should be secret. |
366 It seems more important to present the secret phase. |
358 It seems more important to present the secret phase. |
367 |
359 |
368 $ cp -r base reorder |
360 $ cp -r base reorder |
369 $ cd reorder |
361 $ cd reorder |
370 $ cat > commands.txt <<EOF |
362 $ hg histedit -r 'b449568bf7fc' --commands - << EOF |
371 > pick b449568bf7fc 11 f |
363 > pick b449568bf7fc 11 f |
372 > pick 3a6c53ee7f3d 15 j |
364 > pick 3a6c53ee7f3d 15 j |
373 > pick 6b70183d2492 12 g |
365 > pick 6b70183d2492 12 g |
374 > pick b605fb7503f2 14 i |
366 > pick b605fb7503f2 14 i |
375 > pick 7395e1ff83bd 13 h |
367 > pick 7395e1ff83bd 13 h |
376 > pick ee118ab9fa44 16 k |
368 > pick ee118ab9fa44 16 k |
377 > EOF |
369 > EOF |
378 $ hg histedit -r 'b449568bf7fc' --commands commands.txt |
|
379 0 files updated, 0 files merged, 5 files removed, 0 files unresolved |
370 0 files updated, 0 files merged, 5 files removed, 0 files unresolved |
380 0 files updated, 0 files merged, 0 files removed, 0 files unresolved |
371 0 files updated, 0 files merged, 0 files removed, 0 files unresolved |
381 0 files updated, 0 files merged, 0 files removed, 0 files unresolved |
372 0 files updated, 0 files merged, 0 files removed, 0 files unresolved |
382 0 files updated, 0 files merged, 0 files removed, 0 files unresolved |
373 0 files updated, 0 files merged, 0 files removed, 0 files unresolved |
383 0 files updated, 0 files merged, 0 files removed, 0 files unresolved |
374 0 files updated, 0 files merged, 0 files removed, 0 files unresolved |
413 $ cd folding |
404 $ cd folding |
414 $ cat >> .hg/hgrc << EOF |
405 $ cat >> .hg/hgrc << EOF |
415 > [phases] |
406 > [phases] |
416 > new-commit=secret |
407 > new-commit=secret |
417 > EOF |
408 > EOF |
418 $ cat > commands.txt <<EOF |
409 $ hg histedit -r 'b449568bf7fc' --commands - << EOF |
419 > pick 7395e1ff83bd 13 h |
410 > pick 7395e1ff83bd 13 h |
420 > fold b449568bf7fc 11 f |
411 > fold b449568bf7fc 11 f |
421 > pick 6b70183d2492 12 g |
412 > pick 6b70183d2492 12 g |
422 > fold 3a6c53ee7f3d 15 j |
413 > fold 3a6c53ee7f3d 15 j |
423 > pick b605fb7503f2 14 i |
414 > pick b605fb7503f2 14 i |
424 > fold ee118ab9fa44 16 k |
415 > fold ee118ab9fa44 16 k |
425 > EOF |
416 > EOF |
426 $ hg histedit -r 'b449568bf7fc' --commands commands.txt |
|
427 0 files updated, 0 files merged, 6 files removed, 0 files unresolved |
417 0 files updated, 0 files merged, 6 files removed, 0 files unresolved |
428 0 files updated, 0 files merged, 0 files removed, 0 files unresolved |
418 0 files updated, 0 files merged, 0 files removed, 0 files unresolved |
429 0 files updated, 0 files merged, 2 files removed, 0 files unresolved |
419 0 files updated, 0 files merged, 2 files removed, 0 files unresolved |
430 2 files updated, 0 files merged, 0 files removed, 0 files unresolved |
420 2 files updated, 0 files merged, 0 files removed, 0 files unresolved |
431 0 files updated, 0 files merged, 0 files removed, 0 files unresolved |
421 0 files updated, 0 files merged, 0 files removed, 0 files unresolved |