Mercurial > hg-stable
changeset 4438:3900f684a150
Fix hg import --exact bug that hangs hg on failure.
author | Eric Hopper <hopper@omnifarious.org> |
---|---|
date | Thu, 17 May 2007 09:29:30 -0700 |
parents | a210b40d0860 |
children | 871ff96a86cc 82bc6aef8b43 |
files | mercurial/commands.py mercurial/localrepo.py |
diffstat | 2 files changed, 4 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/commands.py Sun May 13 19:15:54 2007 -0700 +++ b/mercurial/commands.py Thu May 17 09:29:30 2007 -0700 @@ -1565,7 +1565,7 @@ n = repo.commit(files, message, user, date, wlock=wlock, lock=lock) if opts.get('exact'): if hex(n) != nodeid: - repo.rollback() + repo.rollback(wlock=wlock, lock=lock) raise util.Abort(_('patch is damaged or loses information')) finally: os.unlink(tmpname)
--- a/mercurial/localrepo.py Sun May 13 19:15:54 2007 -0700 +++ b/mercurial/localrepo.py Thu May 17 09:29:30 2007 -0700 @@ -586,10 +586,11 @@ self.ui.warn(_("no interrupted transaction available\n")) return False - def rollback(self, wlock=None): + def rollback(self, wlock=None, lock=None): if not wlock: wlock = self.wlock() - l = self.lock() + if not lock: + lock = self.lock() if os.path.exists(self.sjoin("undo")): self.ui.status(_("rolling back last transaction\n")) transaction.rollback(self.sopener, self.sjoin("undo"))