mercurial/subrepo.py
branchstable
changeset 16529 3d5d204a08c7
parent 16527 17a1f7690b49
child 16530 e37199a1f9d4
--- a/mercurial/subrepo.py	Thu Apr 26 21:32:48 2012 +0900
+++ b/mercurial/subrepo.py	Thu Apr 26 11:55:07 2012 +0200
@@ -726,6 +726,12 @@
         self._ui.status(commitinfo)
         newrev = re.search('Committed revision ([0-9]+).', commitinfo)
         if not newrev:
+            if not commitinfo.strip():
+                # Sometimes, our definition of "changed" differs from
+                # svn one. For instance, svn ignores missing files
+                # when committing. If there are only missing files, no
+                # commit is made, no output and no error code.
+                raise util.Abort(_('failed to commit svn changes'))
             raise util.Abort(commitinfo.splitlines()[-1])
         newrev = newrev.groups()[0]
         self._ui.status(self._svncommand(['update', '-r', newrev])[0])