mercurial/sshrepo.py
changeset 5196 86e95b93559a
parent 5176 664a1c312972
parent 5190 6d5ed61c508c
child 5258 b534c502bfb3
--- a/mercurial/sshrepo.py	Fri Aug 17 20:18:05 2007 -0300
+++ b/mercurial/sshrepo.py	Fri Aug 17 23:20:13 2007 -0300
@@ -175,6 +175,7 @@
     def unbundle(self, cg, heads, source):
         d = self.call("unbundle", heads=' '.join(map(hex, heads)))
         if d:
+            # remote may send "unsynced changes"
             self.raise_(repo.RepoError(_("push refused: %s") % d))
 
         while 1:
@@ -188,14 +189,15 @@
         self.pipeo.flush()
 
         self.readerr()
-        d = self.pipei.readline()
-        if d != '\n':
-            return 1
-
         l = int(self.pipei.readline())
         r = self.pipei.read(l)
-        if not r:
-            return 1
+        if r:
+            # remote may send "unsynced changes"
+            self.raise_(hg.RepoError(_("push failed: %s") % r))
+
+        self.readerr()
+        l = int(self.pipei.readline())
+        r = self.pipei.read(l)
         return int(r)
 
     def addchangegroup(self, cg, source, url):