Mercurial > hg
annotate tests/test-histedit-non-commute-abort.t @ 20275:2123d27ff75d
backout: avoid update on simple case.
Before the changeset the backout process was:
1) go to <target>
2) revert to <target> parent
3) update back to changeset we came from
The two update steps can takes a very long time to move back and forth unrelated
file change between <target> and current working directory.
The new process is just merging current working directory with the parent of
<target> using <target> as ancestor. This give the very same result but skip
the two updates. On big repo with a lot of files and changes that save a lots of
time (x20 for one week window).
The "merge" version (hg backout --merge) is still done with upgrades. We could
imagine using in memory commit to speed it up but this is another fish.
author | Pierre-Yves David <pierre-yves.david@fb.com> |
---|---|
date | Wed, 08 Jan 2014 14:53:46 -0800 |
parents | aa9385f983fa |
children | 4e932dc5c113 |
rev | line source |
---|---|
17085
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
1 $ . "$TESTDIR/histedit-helpers.sh" |
17064
168cc52ad7c2
histedit: new extension for interactive history editing
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
2 |
17085
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
3 $ cat >> $HGRCPATH <<EOF |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
4 > [extensions] |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
5 > histedit= |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
6 > EOF |
17064
168cc52ad7c2
histedit: new extension for interactive history editing
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
7 |
17085
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
8 $ initrepo () |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
9 > { |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
10 > hg init r |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
11 > cd r |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
12 > for x in a b c d e f ; do |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
13 > echo $x > $x |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
14 > hg add $x |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
15 > hg ci -m $x |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
16 > done |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
17 > echo a >> e |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
18 > hg ci -m 'does not commute with e' |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
19 > cd .. |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
20 > } |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
21 |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
22 $ initrepo |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
23 $ cd r |
17064
168cc52ad7c2
histedit: new extension for interactive history editing
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
24 |
17085
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
25 log before edit |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
26 $ hg log --graph |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
27 @ changeset: 6:bfa474341cc9 |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
28 | tag: tip |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
29 | user: test |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
30 | date: Thu Jan 01 00:00:00 1970 +0000 |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
31 | summary: does not commute with e |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
32 | |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
33 o changeset: 5:652413bf663e |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
34 | user: test |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
35 | date: Thu Jan 01 00:00:00 1970 +0000 |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
36 | summary: f |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
37 | |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
38 o changeset: 4:e860deea161a |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
39 | user: test |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
40 | date: Thu Jan 01 00:00:00 1970 +0000 |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
41 | summary: e |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
42 | |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
43 o changeset: 3:055a42cdd887 |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
44 | user: test |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
45 | date: Thu Jan 01 00:00:00 1970 +0000 |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
46 | summary: d |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
47 | |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
48 o changeset: 2:177f92b77385 |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
49 | user: test |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
50 | date: Thu Jan 01 00:00:00 1970 +0000 |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
51 | summary: c |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
52 | |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
53 o changeset: 1:d2ae7f538514 |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
54 | user: test |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
55 | date: Thu Jan 01 00:00:00 1970 +0000 |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
56 | summary: b |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
57 | |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
58 o changeset: 0:cb9a9f314b8b |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
59 user: test |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
60 date: Thu Jan 01 00:00:00 1970 +0000 |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
61 summary: a |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
62 |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
63 |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
64 edit the history |
19019
53060cc1b601
histedit-test: generalise --commands "-" usage
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
18934
diff
changeset
|
65 $ hg histedit 177f92b77385 --commands - 2>&1 <<EOF | fixbundle |
53060cc1b601
histedit-test: generalise --commands "-" usage
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
18934
diff
changeset
|
66 > pick 177f92b77385 c |
53060cc1b601
histedit-test: generalise --commands "-" usage
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
18934
diff
changeset
|
67 > pick 055a42cdd887 d |
53060cc1b601
histedit-test: generalise --commands "-" usage
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
18934
diff
changeset
|
68 > pick bfa474341cc9 does not commute with e |
53060cc1b601
histedit-test: generalise --commands "-" usage
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
18934
diff
changeset
|
69 > pick e860deea161a e |
53060cc1b601
histedit-test: generalise --commands "-" usage
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
18934
diff
changeset
|
70 > pick 652413bf663e f |
53060cc1b601
histedit-test: generalise --commands "-" usage
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
18934
diff
changeset
|
71 > EOF |
17085
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
72 0 files updated, 0 files merged, 2 files removed, 0 files unresolved |
17647
d34ba4991188
histedit: replaces patching logic by merges
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
17087
diff
changeset
|
73 remote changed e which local deleted |
d34ba4991188
histedit: replaces patching logic by merges
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
17087
diff
changeset
|
74 use (c)hanged version or leave (d)eleted? c |
d34ba4991188
histedit: replaces patching logic by merges
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
17087
diff
changeset
|
75 0 files updated, 0 files merged, 0 files removed, 0 files unresolved |
d34ba4991188
histedit: replaces patching logic by merges
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
17087
diff
changeset
|
76 merging e |
d34ba4991188
histedit: replaces patching logic by merges
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
17087
diff
changeset
|
77 warning: conflicts during merge. |
d34ba4991188
histedit: replaces patching logic by merges
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
17087
diff
changeset
|
78 merging e incomplete! (edit conflicts, then use 'hg resolve --mark') |
18934
93f3a06b2035
histedit: switch from util.Abort to util.InterventionRequired where appropriate (bc)
Augie Fackler <raf@durin42.com>
parents:
17647
diff
changeset
|
79 Fix up the change and run hg histedit --continue |
17064
168cc52ad7c2
histedit: new extension for interactive history editing
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
80 |
168cc52ad7c2
histedit: new extension for interactive history editing
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
81 |
17085
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
82 abort the edit |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
83 $ hg histedit --abort 2>&1 | fixbundle |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
84 2 files updated, 0 files merged, 0 files removed, 0 files unresolved |
17064
168cc52ad7c2
histedit: new extension for interactive history editing
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
85 |
17085
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
86 log after abort |
17647
d34ba4991188
histedit: replaces patching logic by merges
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
17087
diff
changeset
|
87 $ hg resolve -l |
17085
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
88 $ hg log --graph |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
89 @ changeset: 6:bfa474341cc9 |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
90 | tag: tip |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
91 | user: test |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
92 | date: Thu Jan 01 00:00:00 1970 +0000 |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
93 | summary: does not commute with e |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
94 | |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
95 o changeset: 5:652413bf663e |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
96 | user: test |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
97 | date: Thu Jan 01 00:00:00 1970 +0000 |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
98 | summary: f |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
99 | |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
100 o changeset: 4:e860deea161a |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
101 | user: test |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
102 | date: Thu Jan 01 00:00:00 1970 +0000 |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
103 | summary: e |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
104 | |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
105 o changeset: 3:055a42cdd887 |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
106 | user: test |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
107 | date: Thu Jan 01 00:00:00 1970 +0000 |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
108 | summary: d |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
109 | |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
110 o changeset: 2:177f92b77385 |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
111 | user: test |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
112 | date: Thu Jan 01 00:00:00 1970 +0000 |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
113 | summary: c |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
114 | |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
115 o changeset: 1:d2ae7f538514 |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
116 | user: test |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
117 | date: Thu Jan 01 00:00:00 1970 +0000 |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
118 | summary: b |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
119 | |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
120 o changeset: 0:cb9a9f314b8b |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
121 user: test |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
122 date: Thu Jan 01 00:00:00 1970 +0000 |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
123 summary: a |
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
124 |
17064
168cc52ad7c2
histedit: new extension for interactive history editing
Augie Fackler <raf@durin42.com>
parents:
diff
changeset
|
125 |
17085
35729bdd59b6
tests: convert histedit tests to .t
Mads Kiilerich <mads@kiilerich.com>
parents:
17064
diff
changeset
|
126 $ cd .. |