diff -r 58e040c51231 -r e553a425751d mercurial/localrepo.py --- a/mercurial/localrepo.py Thu Feb 11 12:02:48 2010 -0200 +++ b/mercurial/localrepo.py Thu Feb 11 23:15:42 2010 +0200 @@ -876,8 +876,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: