--- a/mercurial/commands.py Wed Jul 06 22:23:27 2005 -0800
+++ b/mercurial/commands.py Wed Jul 06 22:23:57 2005 -0800
@@ -923,6 +923,15 @@
out.flush()
+ elif cmd == "addchangegroup":
+ if not lock:
+ respond("not locked")
+ continue
+ respond("")
+
+ r = repo.addchangegroup(fin)
+ respond("")
+
def openlog(opt, default):
if opts[opt] and opts[opt] != '-': return open(opts[opt], 'w')
else: return default
--- a/mercurial/hg.py Wed Jul 06 22:23:27 2005 -0800
+++ b/mercurial/hg.py Wed Jul 06 22:23:57 2005 -0800
@@ -1715,6 +1715,21 @@
f = self.do_cmd("changegroup", roots=n)
return self.pipei
+ def addchangegroup(self, cg):
+ d = self.call("addchangegroup")
+ if d:
+ raise RepoError("push refused: %s", d)
+
+ while 1:
+ d = cg.read(4096)
+ if not d: break
+ self.pipeo.write(d)
+
+ self.pipeo.flush()
+
+ l = int(self.pipei.readline())
+ return self.pipei.read(l)
+
def repository(ui, path=None, create=0):
if path:
if path.startswith("http://"):