Mercurial > public > mercurial-scm > hg-stable
diff mercurial/sshrepo.py @ 2440:cc1011a7ed09
merge with self.
author | Vadim Gelfer <vadim.gelfer@gmail.com> |
---|---|
date | Thu, 15 Jun 2006 16:38:23 -0700 |
parents | 2f5dbc24874a e8c4f3d3df8c |
children | 801dfe0aa53a |
line wrap: on
line diff
--- a/mercurial/sshrepo.py Thu Jun 15 15:42:16 2006 -0700 +++ b/mercurial/sshrepo.py Thu Jun 15 16:38:23 2006 -0700 @@ -141,11 +141,36 @@ f = self.do_cmd("changegroup", roots=n) return self.pipei + def unbundle(self, cg, heads, source): + d = self.call("unbundle", heads=' '.join(map(hex, heads))) + if d: + raise hg.RepoError(_("push refused: %s") % d) + + while 1: + d = cg.read(4096) + if not d: break + self.pipeo.write(str(len(d)) + '\n') + self.pipeo.write(d) + self.readerr() + + self.pipeo.write('0\n') + 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 + return int(r) + def addchangegroup(self, cg, source): d = self.call("addchangegroup") if d: raise hg.RepoError(_("push refused: %s") % d) - while 1: d = cg.read(4096) if not d: break