##// END OF EJS Templates
test-histedit: add tests for dropping head changeset...
Pierre-Yves David -
r18509:21daee53 stable
parent child Browse files
Show More
@@ -1,126 +1,158 b''
1 $ . "$TESTDIR/histedit-helpers.sh"
1 $ . "$TESTDIR/histedit-helpers.sh"
2
2
3 $ cat >> $HGRCPATH <<EOF
3 $ cat >> $HGRCPATH <<EOF
4 > [extensions]
4 > [extensions]
5 > graphlog=
5 > graphlog=
6 > histedit=
6 > histedit=
7 > EOF
7 > EOF
8
8
9 $ EDITED="$TESTTMP/editedhistory"
9 $ EDITED="$TESTTMP/editedhistory"
10 $ cat > $EDITED <<EOF
10 $ cat > $EDITED <<EOF
11 > drop 177f92b77385 c
11 > drop 177f92b77385 c
12 > pick e860deea161a e
12 > pick e860deea161a e
13 > pick 652413bf663e f
13 > pick 652413bf663e f
14 > pick 055a42cdd887 d
14 > pick 055a42cdd887 d
15 > EOF
15 > EOF
16 $ initrepo ()
16 $ initrepo ()
17 > {
17 > {
18 > hg init r
18 > hg init r
19 > cd r
19 > cd r
20 > for x in a b c d e f ; do
20 > for x in a b c d e f ; do
21 > echo $x > $x
21 > echo $x > $x
22 > hg add $x
22 > hg add $x
23 > hg ci -m $x
23 > hg ci -m $x
24 > done
24 > done
25 > }
25 > }
26
26
27 $ initrepo
27 $ initrepo
28
28
29 log before edit
29 log before edit
30 $ hg log --graph
30 $ hg log --graph
31 @ changeset: 5:652413bf663e
31 @ changeset: 5:652413bf663e
32 | tag: tip
32 | tag: tip
33 | user: test
33 | user: test
34 | date: Thu Jan 01 00:00:00 1970 +0000
34 | date: Thu Jan 01 00:00:00 1970 +0000
35 | summary: f
35 | summary: f
36 |
36 |
37 o changeset: 4:e860deea161a
37 o changeset: 4:e860deea161a
38 | user: test
38 | user: test
39 | date: Thu Jan 01 00:00:00 1970 +0000
39 | date: Thu Jan 01 00:00:00 1970 +0000
40 | summary: e
40 | summary: e
41 |
41 |
42 o changeset: 3:055a42cdd887
42 o changeset: 3:055a42cdd887
43 | user: test
43 | user: test
44 | date: Thu Jan 01 00:00:00 1970 +0000
44 | date: Thu Jan 01 00:00:00 1970 +0000
45 | summary: d
45 | summary: d
46 |
46 |
47 o changeset: 2:177f92b77385
47 o changeset: 2:177f92b77385
48 | user: test
48 | user: test
49 | date: Thu Jan 01 00:00:00 1970 +0000
49 | date: Thu Jan 01 00:00:00 1970 +0000
50 | summary: c
50 | summary: c
51 |
51 |
52 o changeset: 1:d2ae7f538514
52 o changeset: 1:d2ae7f538514
53 | user: test
53 | user: test
54 | date: Thu Jan 01 00:00:00 1970 +0000
54 | date: Thu Jan 01 00:00:00 1970 +0000
55 | summary: b
55 | summary: b
56 |
56 |
57 o changeset: 0:cb9a9f314b8b
57 o changeset: 0:cb9a9f314b8b
58 user: test
58 user: test
59 date: Thu Jan 01 00:00:00 1970 +0000
59 date: Thu Jan 01 00:00:00 1970 +0000
60 summary: a
60 summary: a
61
61
62
62
63 edit the history
63 edit the history
64 $ HGEDITOR="cat \"$EDITED\" > " hg histedit 177f92b77385 2>&1 | fixbundle
64 $ HGEDITOR="cat \"$EDITED\" > " hg histedit 177f92b77385 2>&1 | fixbundle
65 0 files updated, 0 files merged, 4 files removed, 0 files unresolved
65 0 files updated, 0 files merged, 4 files removed, 0 files unresolved
66 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
66 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
67 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
67 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
68 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
68 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
69
69
70 log after edit
70 log after edit
71 $ hg log --graph
71 $ hg log --graph
72 @ changeset: 4:f518305ce889
72 @ changeset: 4:f518305ce889
73 | tag: tip
73 | tag: tip
74 | user: test
74 | user: test
75 | date: Thu Jan 01 00:00:00 1970 +0000
75 | date: Thu Jan 01 00:00:00 1970 +0000
76 | summary: d
76 | summary: d
77 |
77 |
78 o changeset: 3:a4f7421b80f7
78 o changeset: 3:a4f7421b80f7
79 | user: test
79 | user: test
80 | date: Thu Jan 01 00:00:00 1970 +0000
80 | date: Thu Jan 01 00:00:00 1970 +0000
81 | summary: f
81 | summary: f
82 |
82 |
83 o changeset: 2:ee283cb5f2d5
83 o changeset: 2:ee283cb5f2d5
84 | user: test
84 | user: test
85 | date: Thu Jan 01 00:00:00 1970 +0000
85 | date: Thu Jan 01 00:00:00 1970 +0000
86 | summary: e
86 | summary: e
87 |
87 |
88 o changeset: 1:d2ae7f538514
88 o changeset: 1:d2ae7f538514
89 | user: test
89 | user: test
90 | date: Thu Jan 01 00:00:00 1970 +0000
90 | date: Thu Jan 01 00:00:00 1970 +0000
91 | summary: b
91 | summary: b
92 |
92 |
93 o changeset: 0:cb9a9f314b8b
93 o changeset: 0:cb9a9f314b8b
94 user: test
94 user: test
95 date: Thu Jan 01 00:00:00 1970 +0000
95 date: Thu Jan 01 00:00:00 1970 +0000
96 summary: a
96 summary: a
97
97
98
98
99 Check histedit_source
99 Check histedit_source
100
100
101 $ hg log --debug --rev f518305ce889
101 $ hg log --debug --rev f518305ce889
102 changeset: 4:f518305ce889c07cb5bd05522176d75590ef3324
102 changeset: 4:f518305ce889c07cb5bd05522176d75590ef3324
103 tag: tip
103 tag: tip
104 phase: draft
104 phase: draft
105 parent: 3:a4f7421b80f79fcc59fff01bcbf4a53d127dd6d3
105 parent: 3:a4f7421b80f79fcc59fff01bcbf4a53d127dd6d3
106 parent: -1:0000000000000000000000000000000000000000
106 parent: -1:0000000000000000000000000000000000000000
107 manifest: 4:d3d4f51c157ff242c32ff745d4799aaa26ccda44
107 manifest: 4:d3d4f51c157ff242c32ff745d4799aaa26ccda44
108 user: test
108 user: test
109 date: Thu Jan 01 00:00:00 1970 +0000
109 date: Thu Jan 01 00:00:00 1970 +0000
110 files+: d
110 files+: d
111 extra: branch=default
111 extra: branch=default
112 extra: histedit_source=055a42cdd88768532f9cf79daa407fc8d138de9b
112 extra: histedit_source=055a42cdd88768532f9cf79daa407fc8d138de9b
113 description:
113 description:
114 d
114 d
115
115
116
116
117
117
118 manifest after edit
118 manifest after edit
119 $ hg manifest
119 $ hg manifest
120 a
120 a
121 b
121 b
122 d
122 d
123 e
123 e
124 f
124 f
125
125
126 Drop the last changeset
127
128 $ cat > $EDITED <<EOF
129 > pick ee283cb5f2d5 e
130 > pick a4f7421b80f7 f
131 > drop f518305ce889 d
132 > EOF
133 $ HGEDITOR="cat \"$EDITED\" > " hg histedit ee283cb5f2d5 2>&1 | fixbundle
134 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
135 $ hg log --graph
136 @ changeset: 3:a4f7421b80f7
137 | tag: tip
138 | user: test
139 | date: Thu Jan 01 00:00:00 1970 +0000
140 | summary: f
141 |
142 o changeset: 2:ee283cb5f2d5
143 | user: test
144 | date: Thu Jan 01 00:00:00 1970 +0000
145 | summary: e
146 |
147 o changeset: 1:d2ae7f538514
148 | user: test
149 | date: Thu Jan 01 00:00:00 1970 +0000
150 | summary: b
151 |
152 o changeset: 0:cb9a9f314b8b
153 user: test
154 date: Thu Jan 01 00:00:00 1970 +0000
155 summary: a
156
157
126 $ cd ..
158 $ cd ..
@@ -1,404 +1,454 b''
1 $ . "$TESTDIR/histedit-helpers.sh"
1 $ . "$TESTDIR/histedit-helpers.sh"
2
2
3 Enable obsolete
3 Enable obsolete
4
4
5 $ cat > ${TESTTMP}/obs.py << EOF
5 $ cat > ${TESTTMP}/obs.py << EOF
6 > import mercurial.obsolete
6 > import mercurial.obsolete
7 > mercurial.obsolete._enabled = True
7 > mercurial.obsolete._enabled = True
8 > EOF
8 > EOF
9
9
10 $ cat >> $HGRCPATH << EOF
10 $ cat >> $HGRCPATH << EOF
11 > [ui]
11 > [ui]
12 > logtemplate= {rev}:{node|short} {desc|firstline}
12 > logtemplate= {rev}:{node|short} {desc|firstline}
13 > [phases]
13 > [phases]
14 > publish=False
14 > publish=False
15 > [extensions]'
15 > [extensions]'
16 > histedit=
16 > histedit=
17 > rebase=
17 > rebase=
18 >
18 >
19 > obs=${TESTTMP}/obs.py
19 > obs=${TESTTMP}/obs.py
20 > EOF
20 > EOF
21
21
22 $ hg init base
22 $ hg init base
23 $ cd base
23 $ cd base
24
24
25 $ for x in a b c d e f ; do
25 $ for x in a b c d e f ; do
26 > echo $x > $x
26 > echo $x > $x
27 > hg add $x
27 > hg add $x
28 > hg ci -m $x
28 > hg ci -m $x
29 > done
29 > done
30
30
31 $ hg log --graph
31 $ hg log --graph
32 @ 5:652413bf663e f
32 @ 5:652413bf663e f
33 |
33 |
34 o 4:e860deea161a e
34 o 4:e860deea161a e
35 |
35 |
36 o 3:055a42cdd887 d
36 o 3:055a42cdd887 d
37 |
37 |
38 o 2:177f92b77385 c
38 o 2:177f92b77385 c
39 |
39 |
40 o 1:d2ae7f538514 b
40 o 1:d2ae7f538514 b
41 |
41 |
42 o 0:cb9a9f314b8b a
42 o 0:cb9a9f314b8b a
43
43
44
44
45 $ HGEDITOR=cat hg histedit 1
45 $ HGEDITOR=cat hg histedit 1
46 pick d2ae7f538514 1 b
46 pick d2ae7f538514 1 b
47 pick 177f92b77385 2 c
47 pick 177f92b77385 2 c
48 pick 055a42cdd887 3 d
48 pick 055a42cdd887 3 d
49 pick e860deea161a 4 e
49 pick e860deea161a 4 e
50 pick 652413bf663e 5 f
50 pick 652413bf663e 5 f
51
51
52 # Edit history between d2ae7f538514 and 652413bf663e
52 # Edit history between d2ae7f538514 and 652413bf663e
53 #
53 #
54 # Commands:
54 # Commands:
55 # p, pick = use commit
55 # p, pick = use commit
56 # e, edit = use commit, but stop for amending
56 # e, edit = use commit, but stop for amending
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 $ cat > commands.txt <<EOF
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
69 $ hg histedit 1 --commands commands.txt --verbose | grep histedit
70 saved backup bundle to $TESTTMP/base/.hg/strip-backup/96e494a2d553-backup.hg (glob)
70 saved backup bundle to $TESTTMP/base/.hg/strip-backup/96e494a2d553-backup.hg (glob)
71 $ hg log --graph --hidden
71 $ hg log --graph --hidden
72 @ 8:cacdfd884a93 f
72 @ 8:cacdfd884a93 f
73 |
73 |
74 o 7:59d9f330561f d
74 o 7:59d9f330561f d
75 |
75 |
76 o 6:b346ab9a313d c
76 o 6:b346ab9a313d c
77 |
77 |
78 | x 5:652413bf663e f
78 | x 5:652413bf663e f
79 | |
79 | |
80 | x 4:e860deea161a e
80 | x 4:e860deea161a e
81 | |
81 | |
82 | x 3:055a42cdd887 d
82 | x 3:055a42cdd887 d
83 | |
83 | |
84 | x 2:177f92b77385 c
84 | x 2:177f92b77385 c
85 | |
85 | |
86 | x 1:d2ae7f538514 b
86 | x 1:d2ae7f538514 b
87 |/
87 |/
88 o 0:cb9a9f314b8b a
88 o 0:cb9a9f314b8b a
89
89
90 $ hg debugobsolete
90 $ hg debugobsolete
91 d2ae7f538514cd87c17547b0de4cea71fe1af9fb 0 {'date': '* *', 'user': 'test'} (glob)
91 d2ae7f538514cd87c17547b0de4cea71fe1af9fb 0 {'date': '* *', 'user': 'test'} (glob)
92 177f92b773850b59254aa5e923436f921b55483b b346ab9a313db8537ecf96fca3ca3ca984ef3bd7 0 {'date': '* *', 'user': 'test'} (glob)
92 177f92b773850b59254aa5e923436f921b55483b b346ab9a313db8537ecf96fca3ca3ca984ef3bd7 0 {'date': '* *', 'user': 'test'} (glob)
93 055a42cdd88768532f9cf79daa407fc8d138de9b 59d9f330561fd6c88b1a6b32f0e45034d88db784 0 {'date': '* *', 'user': 'test'} (glob)
93 055a42cdd88768532f9cf79daa407fc8d138de9b 59d9f330561fd6c88b1a6b32f0e45034d88db784 0 {'date': '* *', 'user': 'test'} (glob)
94 e860deea161a2f77de56603b340ebbb4536308ae 59d9f330561fd6c88b1a6b32f0e45034d88db784 0 {'date': '* *', 'user': 'test'} (glob)
94 e860deea161a2f77de56603b340ebbb4536308ae 59d9f330561fd6c88b1a6b32f0e45034d88db784 0 {'date': '* *', 'user': 'test'} (glob)
95 652413bf663ef2a641cab26574e46d5f5a64a55a cacdfd884a9321ec4e1de275ef3949fa953a1f83 0 {'date': '* *', 'user': 'test'} (glob)
95 652413bf663ef2a641cab26574e46d5f5a64a55a cacdfd884a9321ec4e1de275ef3949fa953a1f83 0 {'date': '* *', 'user': 'test'} (glob)
96
96
97
97
98 Ensure hidden revision does not prevent histedit
98 Ensure hidden revision does not prevent histedit
99 -------------------------------------------------
99 -------------------------------------------------
100
100
101 create an hidden revision
101 create an hidden revision
102
102
103 $ cat > commands.txt <<EOF
103 $ cat > commands.txt <<EOF
104 > pick b346ab9a313d 6 c
104 > pick b346ab9a313d 6 c
105 > drop 59d9f330561f 7 d
105 > drop 59d9f330561f 7 d
106 > pick cacdfd884a93 8 f
106 > pick cacdfd884a93 8 f
107 > EOF
107 > EOF
108 $ hg histedit 6 --commands commands.txt
108 $ hg histedit 6 --commands commands.txt
109 0 files updated, 0 files merged, 3 files removed, 0 files unresolved
109 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
110 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
111 $ hg log --graph
111 $ hg log --graph
112 @ 9:c13eb81022ca f
112 @ 9:c13eb81022ca f
113 |
113 |
114 o 6:b346ab9a313d c
114 o 6:b346ab9a313d c
115 |
115 |
116 o 0:cb9a9f314b8b a
116 o 0:cb9a9f314b8b a
117
117
118 check hidden revision are ignored (6 have hidden children 7 and 8)
118 check hidden revision are ignored (6 have hidden children 7 and 8)
119
119
120 $ cat > commands.txt <<EOF
120 $ cat > commands.txt <<EOF
121 > pick b346ab9a313d 6 c
121 > pick b346ab9a313d 6 c
122 > pick c13eb81022ca 8 f
122 > pick c13eb81022ca 8 f
123 > EOF
123 > EOF
124 $ hg histedit 6 --commands commands.txt
124 $ hg histedit 6 --commands commands.txt
125 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
125 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
126
126
127
127
128
128
129 Test that rewriting leaving instability behind is allowed
129 Test that rewriting leaving instability behind is allowed
130 ---------------------------------------------------------------------
130 ---------------------------------------------------------------------
131
131
132 $ hg up '.^'
132 $ hg up '.^'
133 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
133 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
134 $ hg log -r 'children(.)'
134 $ hg log -r 'children(.)'
135 9:c13eb81022ca f (no-eol)
135 9:c13eb81022ca f (no-eol)
136 $ cat > commands.txt <<EOF
136 $ cat > commands.txt <<EOF
137 > edit b346ab9a313d 6 c
137 > edit b346ab9a313d 6 c
138 > EOF
138 > EOF
139 $ hg histedit -r '.' --commands commands.txt
139 $ hg histedit -r '.' --commands commands.txt
140 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
140 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
141 adding c
141 adding c
142 abort: Make changes as needed, you may commit or record as needed now.
142 abort: Make changes as needed, you may commit or record as needed now.
143 When you are finished, run hg histedit --continue to resume.
143 When you are finished, run hg histedit --continue to resume.
144 [255]
144 [255]
145 $ echo c >> c
145 $ echo c >> c
146 $ hg histedit --continue
146 $ hg histedit --continue
147 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
147 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
148
148
149 $ hg log -r 'unstable()'
149 $ hg log -r 'unstable()'
150 9:c13eb81022ca f (no-eol)
150 9:c13eb81022ca f (no-eol)
151
151
152 stabilise
152 stabilise
153
153
154 $ hg rebase -r 'unstable()' -d .
154 $ hg rebase -r 'unstable()' -d .
155
155
156 Test dropping of changeset on the top of the stack
157 -------------------------------------------------------
158
159 Nothing is rewritten below, the working directory parent must be change for the
160 dropped changeset to be hidden.
161
162 $ cd ..
163 $ hg clone base droplast
164 updating to branch default
165 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
166 $ cd droplast
167 $ cat > commands.txt <<EOF
168 > pick 40db8afa467b 10 c
169 > drop b449568bf7fc 11 f
170 > EOF
171 $ hg histedit -r '40db8afa467b' --commands commands.txt
172 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
173 $ hg log -G
174 @ 10:40db8afa467b c
175 |
176 o 0:cb9a9f314b8b a
177
178
179 With rewritten ancestors
180
181 $ echo e > e
182 $ hg add e
183 $ hg commit -m g
184 $ echo f > f
185 $ hg add f
186 $ hg commit -m h
187 $ cat > commands.txt <<EOF
188 > pick 47a8561c0449 12 g
189 > pick 40db8afa467b 10 c
190 > drop 1b3b05f35ff0 13 h
191 > EOF
192 $ hg histedit -r '40db8afa467b' --commands commands.txt
193 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
195 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
196 $ hg log -G
197 @ 15:ee6544123ab8 c
198 |
199 o 14:269e713e9eae g
200 |
201 o 0:cb9a9f314b8b a
202
203 $ cd ../base
204
205
156
206
157 Test phases support
207 Test phases support
158 ===========================================
208 ===========================================
159
209
160 Check that histedit respect immutability
210 Check that histedit respect immutability
161 -------------------------------------------
211 -------------------------------------------
162
212
163 $ cat >> $HGRCPATH << EOF
213 $ cat >> $HGRCPATH << EOF
164 > [ui]
214 > [ui]
165 > logtemplate= {rev}:{node|short} ({phase}) {desc|firstline}\n
215 > logtemplate= {rev}:{node|short} ({phase}) {desc|firstline}\n
166 > EOF
216 > EOF
167
217
168 $ hg ph -pv '.^'
218 $ hg ph -pv '.^'
169 phase changed for 2 changesets
219 phase changed for 2 changesets
170 $ hg log -G
220 $ hg log -G
171 @ 11:b449568bf7fc (draft) f
221 @ 11:b449568bf7fc (draft) f
172 |
222 |
173 o 10:40db8afa467b (public) c
223 o 10:40db8afa467b (public) c
174 |
224 |
175 o 0:cb9a9f314b8b (public) a
225 o 0:cb9a9f314b8b (public) a
176
226
177 $ hg histedit -r '.~2'
227 $ hg histedit -r '.~2'
178 abort: cannot edit immutable changeset: cb9a9f314b8b
228 abort: cannot edit immutable changeset: cb9a9f314b8b
179 [255]
229 [255]
180
230
181
231
182 Prepare further testing
232 Prepare further testing
183 -------------------------------------------
233 -------------------------------------------
184
234
185 $ for x in g h i j k ; do
235 $ for x in g h i j k ; do
186 > echo $x > $x
236 > echo $x > $x
187 > hg add $x
237 > hg add $x
188 > hg ci -m $x
238 > hg ci -m $x
189 > done
239 > done
190 $ hg phase --force --secret .~2
240 $ hg phase --force --secret .~2
191 $ hg log -G
241 $ hg log -G
192 @ 16:ee118ab9fa44 (secret) k
242 @ 16:ee118ab9fa44 (secret) k
193 |
243 |
194 o 15:3a6c53ee7f3d (secret) j
244 o 15:3a6c53ee7f3d (secret) j
195 |
245 |
196 o 14:b605fb7503f2 (secret) i
246 o 14:b605fb7503f2 (secret) i
197 |
247 |
198 o 13:7395e1ff83bd (draft) h
248 o 13:7395e1ff83bd (draft) h
199 |
249 |
200 o 12:6b70183d2492 (draft) g
250 o 12:6b70183d2492 (draft) g
201 |
251 |
202 o 11:b449568bf7fc (draft) f
252 o 11:b449568bf7fc (draft) f
203 |
253 |
204 o 10:40db8afa467b (public) c
254 o 10:40db8afa467b (public) c
205 |
255 |
206 o 0:cb9a9f314b8b (public) a
256 o 0:cb9a9f314b8b (public) a
207
257
208 $ cd ..
258 $ cd ..
209
259
210 simple phase conservation
260 simple phase conservation
211 -------------------------------------------
261 -------------------------------------------
212
262
213 Resulting changeset should conserve the phase of the original one whatever the
263 Resulting changeset should conserve the phase of the original one whatever the
214 phases.new-commit option is.
264 phases.new-commit option is.
215
265
216 New-commit as draft (default)
266 New-commit as draft (default)
217
267
218 $ cp -r base simple-draft
268 $ cp -r base simple-draft
219 $ cd simple-draft
269 $ cd simple-draft
220 $ cat > commands.txt <<EOF
270 $ cat > commands.txt <<EOF
221 > edit b449568bf7fc 11 f
271 > edit b449568bf7fc 11 f
222 > pick 6b70183d2492 12 g
272 > pick 6b70183d2492 12 g
223 > pick 7395e1ff83bd 13 h
273 > pick 7395e1ff83bd 13 h
224 > pick b605fb7503f2 14 i
274 > pick b605fb7503f2 14 i
225 > pick 3a6c53ee7f3d 15 j
275 > pick 3a6c53ee7f3d 15 j
226 > pick ee118ab9fa44 16 k
276 > pick ee118ab9fa44 16 k
227 > EOF
277 > EOF
228 $ hg histedit -r 'b449568bf7fc' --commands commands.txt
278 $ hg histedit -r 'b449568bf7fc' --commands commands.txt
229 0 files updated, 0 files merged, 6 files removed, 0 files unresolved
279 0 files updated, 0 files merged, 6 files removed, 0 files unresolved
230 adding f
280 adding f
231 abort: Make changes as needed, you may commit or record as needed now.
281 abort: Make changes as needed, you may commit or record as needed now.
232 When you are finished, run hg histedit --continue to resume.
282 When you are finished, run hg histedit --continue to resume.
233 [255]
283 [255]
234 $ echo f >> f
284 $ echo f >> f
235 $ hg histedit --continue
285 $ hg histedit --continue
236 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
286 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
237 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
287 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
238 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
288 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
239 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
289 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
240 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
290 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
241 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
291 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
242 $ hg log -G
292 $ hg log -G
243 @ 22:12e89af74238 (secret) k
293 @ 22:12e89af74238 (secret) k
244 |
294 |
245 o 21:636a8687b22e (secret) j
295 o 21:636a8687b22e (secret) j
246 |
296 |
247 o 20:ccaf0a38653f (secret) i
297 o 20:ccaf0a38653f (secret) i
248 |
298 |
249 o 19:11a89d1c2613 (draft) h
299 o 19:11a89d1c2613 (draft) h
250 |
300 |
251 o 18:c1dec7ca82ea (draft) g
301 o 18:c1dec7ca82ea (draft) g
252 |
302 |
253 o 17:087281e68428 (draft) f
303 o 17:087281e68428 (draft) f
254 |
304 |
255 o 10:40db8afa467b (public) c
305 o 10:40db8afa467b (public) c
256 |
306 |
257 o 0:cb9a9f314b8b (public) a
307 o 0:cb9a9f314b8b (public) a
258
308
259 $ cd ..
309 $ cd ..
260
310
261
311
262 New-commit as draft (default)
312 New-commit as draft (default)
263
313
264 $ cp -r base simple-secret
314 $ cp -r base simple-secret
265 $ cd simple-secret
315 $ cd simple-secret
266 $ cat >> .hg/hgrc << EOF
316 $ cat >> .hg/hgrc << EOF
267 > [phases]
317 > [phases]
268 > new-commit=secret
318 > new-commit=secret
269 > EOF
319 > EOF
270 $ cat > commands.txt <<EOF
320 $ cat > commands.txt <<EOF
271 > edit b449568bf7fc 11 f
321 > edit b449568bf7fc 11 f
272 > pick 6b70183d2492 12 g
322 > pick 6b70183d2492 12 g
273 > pick 7395e1ff83bd 13 h
323 > pick 7395e1ff83bd 13 h
274 > pick b605fb7503f2 14 i
324 > pick b605fb7503f2 14 i
275 > pick 3a6c53ee7f3d 15 j
325 > pick 3a6c53ee7f3d 15 j
276 > pick ee118ab9fa44 16 k
326 > pick ee118ab9fa44 16 k
277 > EOF
327 > EOF
278 $ hg histedit -r 'b449568bf7fc' --commands commands.txt
328 $ hg histedit -r 'b449568bf7fc' --commands commands.txt
279 0 files updated, 0 files merged, 6 files removed, 0 files unresolved
329 0 files updated, 0 files merged, 6 files removed, 0 files unresolved
280 adding f
330 adding f
281 abort: Make changes as needed, you may commit or record as needed now.
331 abort: Make changes as needed, you may commit or record as needed now.
282 When you are finished, run hg histedit --continue to resume.
332 When you are finished, run hg histedit --continue to resume.
283 [255]
333 [255]
284 $ echo f >> f
334 $ echo f >> f
285 $ hg histedit --continue
335 $ hg histedit --continue
286 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
336 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
287 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
337 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
288 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
338 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
289 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
339 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
290 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
340 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
291 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
341 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
292 $ hg log -G
342 $ hg log -G
293 @ 22:12e89af74238 (secret) k
343 @ 22:12e89af74238 (secret) k
294 |
344 |
295 o 21:636a8687b22e (secret) j
345 o 21:636a8687b22e (secret) j
296 |
346 |
297 o 20:ccaf0a38653f (secret) i
347 o 20:ccaf0a38653f (secret) i
298 |
348 |
299 o 19:11a89d1c2613 (draft) h
349 o 19:11a89d1c2613 (draft) h
300 |
350 |
301 o 18:c1dec7ca82ea (draft) g
351 o 18:c1dec7ca82ea (draft) g
302 |
352 |
303 o 17:087281e68428 (draft) f
353 o 17:087281e68428 (draft) f
304 |
354 |
305 o 10:40db8afa467b (public) c
355 o 10:40db8afa467b (public) c
306 |
356 |
307 o 0:cb9a9f314b8b (public) a
357 o 0:cb9a9f314b8b (public) a
308
358
309 $ cd ..
359 $ cd ..
310
360
311
361
312 Changeset reordering
362 Changeset reordering
313 -------------------------------------------
363 -------------------------------------------
314
364
315 If a secret changeset is put before a draft one, all descendant should be secret.
365 If a secret changeset is put before a draft one, all descendant should be secret.
316 It seems more important to present the secret phase.
366 It seems more important to present the secret phase.
317
367
318 $ cp -r base reorder
368 $ cp -r base reorder
319 $ cd reorder
369 $ cd reorder
320 $ cat > commands.txt <<EOF
370 $ cat > commands.txt <<EOF
321 > pick b449568bf7fc 11 f
371 > pick b449568bf7fc 11 f
322 > pick 3a6c53ee7f3d 15 j
372 > pick 3a6c53ee7f3d 15 j
323 > pick 6b70183d2492 12 g
373 > pick 6b70183d2492 12 g
324 > pick b605fb7503f2 14 i
374 > pick b605fb7503f2 14 i
325 > pick 7395e1ff83bd 13 h
375 > pick 7395e1ff83bd 13 h
326 > pick ee118ab9fa44 16 k
376 > pick ee118ab9fa44 16 k
327 > EOF
377 > EOF
328 $ hg histedit -r 'b449568bf7fc' --commands commands.txt
378 $ hg histedit -r 'b449568bf7fc' --commands commands.txt
329 0 files updated, 0 files merged, 5 files removed, 0 files unresolved
379 0 files updated, 0 files merged, 5 files removed, 0 files unresolved
330 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
380 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
331 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
332 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
333 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
334 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
384 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
335 $ hg log -G
385 $ hg log -G
336 @ 21:558246857888 (secret) k
386 @ 21:558246857888 (secret) k
337 |
387 |
338 o 20:28bd44768535 (secret) h
388 o 20:28bd44768535 (secret) h
339 |
389 |
340 o 19:d5395202aeb9 (secret) i
390 o 19:d5395202aeb9 (secret) i
341 |
391 |
342 o 18:21edda8e341b (secret) g
392 o 18:21edda8e341b (secret) g
343 |
393 |
344 o 17:5ab64f3a4832 (secret) j
394 o 17:5ab64f3a4832 (secret) j
345 |
395 |
346 o 11:b449568bf7fc (draft) f
396 o 11:b449568bf7fc (draft) f
347 |
397 |
348 o 10:40db8afa467b (public) c
398 o 10:40db8afa467b (public) c
349 |
399 |
350 o 0:cb9a9f314b8b (public) a
400 o 0:cb9a9f314b8b (public) a
351
401
352 $ cd ..
402 $ cd ..
353
403
354 Changeset folding
404 Changeset folding
355 -------------------------------------------
405 -------------------------------------------
356
406
357 Folding a secret changeset with a draft one turn the result secret (again,
407 Folding a secret changeset with a draft one turn the result secret (again,
358 better safe than sorry). Folding between same phase changeset still works
408 better safe than sorry). Folding between same phase changeset still works
359
409
360 Note that there is a few reordering in this series for more extensive test
410 Note that there is a few reordering in this series for more extensive test
361
411
362 $ cp -r base folding
412 $ cp -r base folding
363 $ cd folding
413 $ cd folding
364 $ cat >> .hg/hgrc << EOF
414 $ cat >> .hg/hgrc << EOF
365 > [phases]
415 > [phases]
366 > new-commit=secret
416 > new-commit=secret
367 > EOF
417 > EOF
368 $ cat > commands.txt <<EOF
418 $ cat > commands.txt <<EOF
369 > pick 7395e1ff83bd 13 h
419 > pick 7395e1ff83bd 13 h
370 > fold b449568bf7fc 11 f
420 > fold b449568bf7fc 11 f
371 > pick 6b70183d2492 12 g
421 > pick 6b70183d2492 12 g
372 > fold 3a6c53ee7f3d 15 j
422 > fold 3a6c53ee7f3d 15 j
373 > pick b605fb7503f2 14 i
423 > pick b605fb7503f2 14 i
374 > fold ee118ab9fa44 16 k
424 > fold ee118ab9fa44 16 k
375 > EOF
425 > EOF
376 $ hg histedit -r 'b449568bf7fc' --commands commands.txt
426 $ hg histedit -r 'b449568bf7fc' --commands commands.txt
377 0 files updated, 0 files merged, 6 files removed, 0 files unresolved
427 0 files updated, 0 files merged, 6 files removed, 0 files unresolved
378 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
428 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
379 0 files updated, 0 files merged, 2 files removed, 0 files unresolved
429 0 files updated, 0 files merged, 2 files removed, 0 files unresolved
380 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
430 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
381 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
431 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
432 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
383 0 files updated, 0 files merged, 2 files removed, 0 files unresolved
433 0 files updated, 0 files merged, 2 files removed, 0 files unresolved
384 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
434 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
385 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
435 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
386 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
436 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
387 0 files updated, 0 files merged, 2 files removed, 0 files unresolved
437 0 files updated, 0 files merged, 2 files removed, 0 files unresolved
388 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
438 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
389 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
439 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
390 saved backup bundle to $TESTTMP/folding/.hg/strip-backup/58019c66f35f-backup.hg (glob)
440 saved backup bundle to $TESTTMP/folding/.hg/strip-backup/58019c66f35f-backup.hg (glob)
391 saved backup bundle to $TESTTMP/folding/.hg/strip-backup/83d1858e070b-backup.hg (glob)
441 saved backup bundle to $TESTTMP/folding/.hg/strip-backup/83d1858e070b-backup.hg (glob)
392 saved backup bundle to $TESTTMP/folding/.hg/strip-backup/859969f5ed7e-backup.hg (glob)
442 saved backup bundle to $TESTTMP/folding/.hg/strip-backup/859969f5ed7e-backup.hg (glob)
393 $ hg log -G
443 $ hg log -G
394 @ 19:f9daec13fb98 (secret) i
444 @ 19:f9daec13fb98 (secret) i
395 |
445 |
396 o 18:49807617f46a (secret) g
446 o 18:49807617f46a (secret) g
397 |
447 |
398 o 17:050280826e04 (draft) h
448 o 17:050280826e04 (draft) h
399 |
449 |
400 o 10:40db8afa467b (public) c
450 o 10:40db8afa467b (public) c
401 |
451 |
402 o 0:cb9a9f314b8b (public) a
452 o 0:cb9a9f314b8b (public) a
403
453
404 $ cd ..
454 $ cd ..
General Comments 0
You need to be logged in to leave comments. Login now