diff -r ee12d9dc5cbb -r 618140c75d8d mercurial/transaction.py --- a/mercurial/transaction.py Fri Nov 07 15:47:01 2008 +0100 +++ b/mercurial/transaction.py Fri Nov 07 18:41:22 2008 +0100 @@ -102,7 +102,11 @@ if o: opener(f, "a").truncate(int(o)) else: - fn = opener(f).name - os.unlink(fn) + try: + fn = opener(f).name + os.unlink(fn) + except OSError, inst: + if inst.errno != errno.ENOENT: + raise os.unlink(file)