##// END OF EJS Templates
test-histedit-fold: fix for Windows...
Adrian Buehlmann -
r17257:d9626b91 stable
parent child Browse files
Show More
@@ -1,238 +1,238 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 > pick e860deea161a e
11 > pick e860deea161a e
12 > pick 652413bf663e f
12 > pick 652413bf663e f
13 > fold 177f92b77385 c
13 > fold 177f92b77385 c
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, 2 files removed, 0 files unresolved
68 0 files updated, 0 files merged, 2 files removed, 0 files unresolved
69 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
69 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
70 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
70 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
71
71
72 log after edit
72 log after edit
73 $ hg log --graph
73 $ hg log --graph
74 @ changeset: 4:82b0c1ff1777
74 @ changeset: 4:82b0c1ff1777
75 | tag: tip
75 | tag: tip
76 | user: test
76 | user: test
77 | date: Thu Jan 01 00:00:00 1970 +0000
77 | date: Thu Jan 01 00:00:00 1970 +0000
78 | summary: d
78 | summary: d
79 |
79 |
80 o changeset: 3:150aafb44a91
80 o changeset: 3:150aafb44a91
81 | user: test
81 | user: test
82 | date: Thu Jan 01 00:00:00 1970 +0000
82 | date: Thu Jan 01 00:00:00 1970 +0000
83 | summary: pick e860deea161a e
83 | summary: pick e860deea161a e
84 |
84 |
85 o changeset: 2:493dc0964412
85 o changeset: 2:493dc0964412
86 | user: test
86 | user: test
87 | date: Thu Jan 01 00:00:00 1970 +0000
87 | date: Thu Jan 01 00:00:00 1970 +0000
88 | summary: e
88 | summary: e
89 |
89 |
90 o changeset: 1:d2ae7f538514
90 o changeset: 1:d2ae7f538514
91 | user: test
91 | user: test
92 | date: Thu Jan 01 00:00:00 1970 +0000
92 | date: Thu Jan 01 00:00:00 1970 +0000
93 | summary: b
93 | summary: b
94 |
94 |
95 o changeset: 0:cb9a9f314b8b
95 o changeset: 0:cb9a9f314b8b
96 user: test
96 user: test
97 date: Thu Jan 01 00:00:00 1970 +0000
97 date: Thu Jan 01 00:00:00 1970 +0000
98 summary: a
98 summary: a
99
99
100
100
101 post-fold manifest
101 post-fold manifest
102 $ hg manifest
102 $ hg manifest
103 a
103 a
104 b
104 b
105 c
105 c
106 d
106 d
107 e
107 e
108 f
108 f
109
109
110 $ cd ..
110 $ cd ..
111
111
112 folding and creating no new change doesn't break:
112 folding and creating no new change doesn't break:
113 $ mkdir fold-to-empty-test
113 $ mkdir fold-to-empty-test
114 $ cd fold-to-empty-test
114 $ cd fold-to-empty-test
115 $ hg init
115 $ hg init
116 $ printf "1\n2\n3\n" > file
116 $ printf "1\n2\n3\n" > file
117 $ hg add file
117 $ hg add file
118 $ hg commit -m '1+2+3'
118 $ hg commit -m '1+2+3'
119 $ echo 4 >> file
119 $ echo 4 >> file
120 $ hg commit -m '+4'
120 $ hg commit -m '+4'
121 $ echo 5 >> file
121 $ echo 5 >> file
122 $ hg commit -m '+5'
122 $ hg commit -m '+5'
123 $ echo 6 >> file
123 $ echo 6 >> file
124 $ hg commit -m '+6'
124 $ hg commit -m '+6'
125 $ hg log --graph
125 $ hg log --graph
126 @ changeset: 3:251d831eeec5
126 @ changeset: 3:251d831eeec5
127 | tag: tip
127 | tag: tip
128 | user: test
128 | user: test
129 | date: Thu Jan 01 00:00:00 1970 +0000
129 | date: Thu Jan 01 00:00:00 1970 +0000
130 | summary: +6
130 | summary: +6
131 |
131 |
132 o changeset: 2:888f9082bf99
132 o changeset: 2:888f9082bf99
133 | user: test
133 | user: test
134 | date: Thu Jan 01 00:00:00 1970 +0000
134 | date: Thu Jan 01 00:00:00 1970 +0000
135 | summary: +5
135 | summary: +5
136 |
136 |
137 o changeset: 1:617f94f13c0f
137 o changeset: 1:617f94f13c0f
138 | user: test
138 | user: test
139 | date: Thu Jan 01 00:00:00 1970 +0000
139 | date: Thu Jan 01 00:00:00 1970 +0000
140 | summary: +4
140 | summary: +4
141 |
141 |
142 o changeset: 0:0189ba417d34
142 o changeset: 0:0189ba417d34
143 user: test
143 user: test
144 date: Thu Jan 01 00:00:00 1970 +0000
144 date: Thu Jan 01 00:00:00 1970 +0000
145 summary: 1+2+3
145 summary: 1+2+3
146
146
147
147
148 $ cat > editor.py <<EOF
148 $ cat > editor.py <<EOF
149 > import re, sys
149 > import re, sys
150 > rules = sys.argv[1]
150 > rules = sys.argv[1]
151 > data = open(rules).read()
151 > data = open(rules).read()
152 > data = re.sub(r'pick ([0-9a-f]{12} 2 \+5)', r'drop \1', data)
152 > data = re.sub(r'pick ([0-9a-f]{12} 2 \+5)', r'drop \1', data)
153 > data = re.sub(r'pick ([0-9a-f]{12} 2 \+6)', r'fold \1', data)
153 > data = re.sub(r'pick ([0-9a-f]{12} 2 \+6)', r'fold \1', data)
154 > open(rules, 'w').write(data)
154 > open(rules, 'w').write(data)
155 > EOF
155 > EOF
156
156
157 $ HGEDITOR='python editor.py' hg histedit 1
157 $ HGEDITOR='python editor.py' hg histedit 1
158 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
158 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
159 patching file file
159 patching file file
160 Hunk #1 FAILED at 2
160 Hunk #1 FAILED at 2
161 1 out of 1 hunks FAILED -- saving rejects to file file.rej
161 1 out of 1 hunks FAILED -- saving rejects to file file.rej
162 abort: Fix up the change and run hg histedit --continue
162 abort: Fix up the change and run hg histedit --continue
163 [255]
163 [255]
164 There were conflicts, but we'll continue without resolving. This
164 There were conflicts, but we'll continue without resolving. This
165 should effectively drop the changes from +6.
165 should effectively drop the changes from +6.
166 $ hg status
166 $ hg status
167 ? editor.py
167 ? editor.py
168 ? file.rej
168 ? file.rej
169 $ hg histedit --continue
169 $ hg histedit --continue
170 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
170 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
171 saved backup bundle to $TESTTMP/*-backup.hg (glob)
171 saved backup bundle to $TESTTMP/*-backup.hg (glob)
172 $ hg log --graph
172 $ hg log --graph
173 @ changeset: 1:617f94f13c0f
173 @ changeset: 1:617f94f13c0f
174 | tag: tip
174 | tag: tip
175 | user: test
175 | user: test
176 | date: Thu Jan 01 00:00:00 1970 +0000
176 | date: Thu Jan 01 00:00:00 1970 +0000
177 | summary: +4
177 | summary: +4
178 |
178 |
179 o changeset: 0:0189ba417d34
179 o changeset: 0:0189ba417d34
180 user: test
180 user: test
181 date: Thu Jan 01 00:00:00 1970 +0000
181 date: Thu Jan 01 00:00:00 1970 +0000
182 summary: 1+2+3
182 summary: 1+2+3
183
183
184
184
185 $ cd ..
185 $ cd ..
186
186
187 Test corner case where folded revision is separated from its parent by a
187 Test corner case where folded revision is separated from its parent by a
188 dropped revision.
188 dropped revision.
189
189
190
190
191 $ hg init fold-with-dropped
191 $ hg init fold-with-dropped
192 $ cd fold-with-dropped
192 $ cd fold-with-dropped
193 $ printf "1\n2\n3\n" > file
193 $ printf "1\n2\n3\n" > file
194 $ hg commit -Am '1+2+3'
194 $ hg commit -Am '1+2+3'
195 adding file
195 adding file
196 $ echo 4 >> file
196 $ echo 4 >> file
197 $ hg commit -m '+4'
197 $ hg commit -m '+4'
198 $ echo 5 >> file
198 $ echo 5 >> file
199 $ hg commit -m '+5'
199 $ hg commit -m '+5'
200 $ echo 6 >> file
200 $ echo 6 >> file
201 $ hg commit -m '+6'
201 $ hg commit -m '+6'
202 $ hg log -G --template '{rev}:{node|short} {desc|firstline}\n'
202 $ hg log -G --template '{rev}:{node|short} {desc|firstline}\n'
203 @ 3:251d831eeec5 +6
203 @ 3:251d831eeec5 +6
204 |
204 |
205 o 2:888f9082bf99 +5
205 o 2:888f9082bf99 +5
206 |
206 |
207 o 1:617f94f13c0f +4
207 o 1:617f94f13c0f +4
208 |
208 |
209 o 0:0189ba417d34 1+2+3
209 o 0:0189ba417d34 1+2+3
210
210
211 $ EDITED=`pwd`/../editcommands
211 $ EDITED="$TESTTMP/editcommands"
212 $ cat > $EDITED <<EOF
212 $ cat > $EDITED <<EOF
213 > pick 617f94f13c0f 1 +4
213 > pick 617f94f13c0f 1 +4
214 > drop 888f9082bf99 2 +5
214 > drop 888f9082bf99 2 +5
215 > fold 251d831eeec5 3 +6
215 > fold 251d831eeec5 3 +6
216 > EOF
216 > EOF
217 $ HGEDITOR="cat $EDITED >" hg histedit 1
217 $ HGEDITOR="cat $EDITED >" hg histedit 1
218 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
218 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
219 patching file file
219 patching file file
220 Hunk #1 FAILED at 2
220 Hunk #1 FAILED at 2
221 1 out of 1 hunks FAILED -- saving rejects to file file.rej
221 1 out of 1 hunks FAILED -- saving rejects to file file.rej
222 abort: Fix up the change and run hg histedit --continue
222 abort: Fix up the change and run hg histedit --continue
223 [255]
223 [255]
224 $ echo 5 >> file
224 $ echo 5 >> file
225 $ hg commit -m '+5.2'
225 $ hg commit -m '+5.2'
226 created new head
226 created new head
227 $ echo 6 >> file
227 $ echo 6 >> file
228 $ HGEDITOR=cat hg histedit --continue
228 $ HGEDITOR=cat hg histedit --continue
229 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
229 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
230 +4
230 +4
231 ***
231 ***
232 +5.2
232 +5.2
233 ***
233 ***
234 +6
234 +6
235 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
235 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
236 saved backup bundle to $TESTTMP/fold-with-dropped/.hg/strip-backup/617f94f13c0f-backup.hg (glob)
236 saved backup bundle to $TESTTMP/fold-with-dropped/.hg/strip-backup/617f94f13c0f-backup.hg (glob)
237 $ cd ..
237 $ cd ..
238
238
General Comments 0
You need to be logged in to leave comments. Login now