equal
deleted
inserted
replaced
173 return self.do_cmd("changegroupsubset", bases=bases, heads=heads) |
173 return self.do_cmd("changegroupsubset", bases=bases, heads=heads) |
174 |
174 |
175 def unbundle(self, cg, heads, source): |
175 def unbundle(self, cg, heads, source): |
176 d = self.call("unbundle", heads=' '.join(map(hex, heads))) |
176 d = self.call("unbundle", heads=' '.join(map(hex, heads))) |
177 if d: |
177 if d: |
|
178 # remote may send "unsynced changes" |
178 self.raise_(hg.RepoError(_("push refused: %s") % d)) |
179 self.raise_(hg.RepoError(_("push refused: %s") % d)) |
179 |
180 |
180 while 1: |
181 while 1: |
181 d = cg.read(4096) |
182 d = cg.read(4096) |
182 if not d: break |
183 if not d: break |
186 |
187 |
187 self.pipeo.write('0\n') |
188 self.pipeo.write('0\n') |
188 self.pipeo.flush() |
189 self.pipeo.flush() |
189 |
190 |
190 self.readerr() |
191 self.readerr() |
191 d = self.pipei.readline() |
|
192 if d != '\n': |
|
193 return 1 |
|
194 |
|
195 l = int(self.pipei.readline()) |
192 l = int(self.pipei.readline()) |
196 r = self.pipei.read(l) |
193 r = self.pipei.read(l) |
197 if not r: |
194 if r: |
198 return 1 |
195 # remote may send "unsynced changes" |
|
196 self.raise_(hg.RepoError(_("push failed: %s") % r)) |
|
197 |
|
198 self.readerr() |
|
199 l = int(self.pipei.readline()) |
|
200 r = self.pipei.read(l) |
199 return int(r) |
201 return int(r) |
200 |
202 |
201 def addchangegroup(self, cg, source, url): |
203 def addchangegroup(self, cg, source, url): |
202 d = self.call("addchangegroup") |
204 d = self.call("addchangegroup") |
203 if d: |
205 if d: |