##// END OF EJS Templates
commands: use separate try/except and try/finally as needed for python2.4...
Thomas Arendsen Hein -
r15278:2ed33566 stable
parent child Browse files
Show More
@@ -3543,43 +3543,44 b' def import_(ui, repo, patch1, *patches, '
3543 3543 os.unlink(tmpname)
3544 3544
3545 3545 try:
3546 wlock = repo.wlock()
3547 lock = repo.lock()
3548 tr = repo.transaction('import')
3549 parents = repo.parents()
3550 for patchurl in patches:
3551 if patchurl == '-':
3552 ui.status(_('applying patch from stdin\n'))
3553 patchfile = ui.fin
3554 patchurl = 'stdin' # for error message
3555 else:
3556 patchurl = os.path.join(base, patchurl)
3557 ui.status(_('applying %s\n') % patchurl)
3558 patchfile = url.open(ui, patchurl)
3559
3560 haspatch = False
3561 for hunk in patch.split(patchfile):
3562 (msg, node) = tryone(ui, hunk, parents)
3563 if msg:
3564 haspatch = True
3565 ui.note(msg + '\n')
3566 if update or opts.get('exact'):
3567 parents = repo.parents()
3546 try:
3547 wlock = repo.wlock()
3548 lock = repo.lock()
3549 tr = repo.transaction('import')
3550 parents = repo.parents()
3551 for patchurl in patches:
3552 if patchurl == '-':
3553 ui.status(_('applying patch from stdin\n'))
3554 patchfile = ui.fin
3555 patchurl = 'stdin' # for error message
3568 3556 else:
3569 parents = [repo[node]]
3570
3571 if not haspatch:
3572 raise util.Abort(_('%s: no diffs found') % patchurl)
3573
3574 tr.close()
3575 if msgs:
3576 repo.savecommitmessage('\n* * *\n'.join(msgs))
3577 except:
3578 # wlock.release() indirectly calls dirstate.write(): since
3579 # we're crashing, we do not want to change the working dir
3580 # parent after all, so make sure it writes nothing
3581 repo.dirstate.invalidate()
3582 raise
3557 patchurl = os.path.join(base, patchurl)
3558 ui.status(_('applying %s\n') % patchurl)
3559 patchfile = url.open(ui, patchurl)
3560
3561 haspatch = False
3562 for hunk in patch.split(patchfile):
3563 (msg, node) = tryone(ui, hunk, parents)
3564 if msg:
3565 haspatch = True
3566 ui.note(msg + '\n')
3567 if update or opts.get('exact'):
3568 parents = repo.parents()
3569 else:
3570 parents = [repo[node]]
3571
3572 if not haspatch:
3573 raise util.Abort(_('%s: no diffs found') % patchurl)
3574
3575 tr.close()
3576 if msgs:
3577 repo.savecommitmessage('\n* * *\n'.join(msgs))
3578 except:
3579 # wlock.release() indirectly calls dirstate.write(): since
3580 # we're crashing, we do not want to change the working dir
3581 # parent after all, so make sure it writes nothing
3582 repo.dirstate.invalidate()
3583 raise
3583 3584 finally:
3584 3585 if tr:
3585 3586 tr.release()
General Comments 0
You need to be logged in to leave comments. Login now