##// END OF EJS Templates
transplant: do not rollback on patching error (issue3379)...
Patrick Mezard -
r16507:1f020021 stable
parent child Browse files
Show More
@@ -20,6 +20,9 b' from mercurial import bundlerepo, hg, me'
20 20 from mercurial import patch, revlog, scmutil, util, error, cmdutil
21 21 from mercurial import revset, templatekw
22 22
23 class TransplantError(error.Abort):
24 pass
25
23 26 cmdtable = {}
24 27 command = cmdutil.command(cmdtable)
25 28
@@ -171,11 +174,17 b' class transplanter(object):'
171 174 del revmap[rev]
172 175 if patchfile or domerge:
173 176 try:
177 try:
174 178 n = self.applyone(repo, node,
175 179 source.changelog.read(node),
176 180 patchfile, merge=domerge,
177 181 log=opts.get('log'),
178 182 filter=opts.get('filter'))
183 except TransplantError:
184 # Do not rollback, it is up to the user to
185 # fix the merge or cancel everything
186 tr.close()
187 raise
179 188 if n and domerge:
180 189 self.ui.status(_('%s merged at %s\n') % (revstr,
181 190 short(n)))
@@ -259,7 +268,7 b' class transplanter(object):'
259 268 p2 = node
260 269 self.log(user, date, message, p1, p2, merge=merge)
261 270 self.ui.write(str(inst) + '\n')
262 raise util.Abort(_('fix up the merge and run '
271 raise TransplantError(_('fix up the merge and run '
263 272 'hg transplant --continue'))
264 273 else:
265 274 files = None
@@ -212,7 +212,9 b' transplant --continue'
212 212 > baz
213 213 > EOF
214 214 $ echo toremove > toremove
215 $ echo baz > baz
215 216 $ hg ci -Amfoo
217 adding baz
216 218 adding foo
217 219 adding toremove
218 220 $ cat <<EOF > foo
@@ -226,17 +228,22 b' transplant --continue'
226 228 adding added
227 229 removing toremove
228 230 $ echo bar > bar
231 $ cat > baz <<EOF
232 > before baz
233 > baz
234 > after baz
235 > EOF
229 236 $ hg ci -Ambar
230 237 adding bar
231 238 $ echo bar2 >> bar
232 239 $ hg ci -mbar2
233 240 $ hg up 0
234 2 files updated, 0 files merged, 2 files removed, 0 files unresolved
241 3 files updated, 0 files merged, 2 files removed, 0 files unresolved
235 242 $ echo foobar > foo
236 243 $ hg ci -mfoobar
237 244 created new head
238 245 $ hg transplant 1:3
239 applying a1e30dd1b8e7
246 applying 46ae92138f3c
240 247 patching file foo
241 248 Hunk #1 FAILED at 0
242 249 1 out of 1 hunks FAILED -- saving rejects to file foo.rej
@@ -250,7 +257,7 b" transplant -c shouldn't use an old chang"
250 257 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
251 258 $ rm added
252 259 $ hg transplant 1
253 applying a1e30dd1b8e7
260 applying 46ae92138f3c
254 261 patching file foo
255 262 Hunk #1 FAILED at 0
256 263 1 out of 1 hunks FAILED -- saving rejects to file foo.rej
@@ -258,17 +265,41 b" transplant -c shouldn't use an old chang"
258 265 abort: fix up the merge and run hg transplant --continue
259 266 [255]
260 267 $ hg transplant --continue
261 a1e30dd1b8e7 transplanted as f1563cf27039
268 46ae92138f3c transplanted as 9159dada197d
262 269 $ hg transplant 1:3
263 skipping already applied revision 1:a1e30dd1b8e7
264 applying 1739ac5f6139
265 1739ac5f6139 transplanted to d649c221319f
266 applying 0282d5fbbe02
267 0282d5fbbe02 transplanted to 77418277ccb3
270 skipping already applied revision 1:46ae92138f3c
271 applying 9d6d6b5a8275
272 9d6d6b5a8275 transplanted to 2d17a10c922f
273 applying 1dab759070cf
274 1dab759070cf transplanted to e06a69927eb0
268 275 $ hg locate
269 276 added
270 277 bar
278 baz
271 279 foo
280
281 test multiple revisions and --continue
282
283 $ hg up -qC 0
284 $ echo bazbaz > baz
285 $ hg ci -Am anotherbaz baz
286 created new head
287 $ hg transplant 1:3
288 applying 46ae92138f3c
289 46ae92138f3c transplanted to 1024233ea0ba
290 applying 9d6d6b5a8275
291 patching file baz
292 Hunk #1 FAILED at 0
293 1 out of 1 hunks FAILED -- saving rejects to file baz.rej
294 patch failed to apply
295 abort: fix up the merge and run hg transplant --continue
296 [255]
297 $ echo fixed > baz
298 $ hg transplant --continue
299 9d6d6b5a8275 transplanted as d80c49962290
300 applying 1dab759070cf
301 1dab759070cf transplanted to aa0ffe6bd5ae
302
272 303 $ cd ..
273 304
274 305 Issue1111: Test transplant --merge
General Comments 0
You need to be logged in to leave comments. Login now