mercurial/localrepo.py
branchstable
changeset 10428 e553a425751d
parent 10263 25e572394f5c
child 10429 1c50a954a524
--- 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: