--- a/mercurial/localrepo.py Fri Feb 12 21:30:24 2010 +0100
+++ b/mercurial/localrepo.py Sat Feb 13 02:06:13 2010 +0100
@@ -899,8 +899,12 @@
new[f] = self._filecommit(fctx, m1, m2, linkrev, trp,
changed)
m1.set(f, fctx.flags())
- except (OSError, IOError):
- if error:
+ except OSError, inst:
+ self.ui.warn(_("trouble committing %s!\n") % f)
+ raise
+ except IOError, inst:
+ errcode = getattr(inst, 'errno', errno.ENOENT)
+ if error or errcode and errcode != errno.ENOENT:
self.ui.warn(_("trouble committing %s!\n") % f)
raise
else: