[PATCH 13 of 15] sshrepo: support parentdeltas
Pradeepkumar Gayam
in3xes at gmail.com
Mon Jul 12 05:49:55 CDT 2010
# HG changeset patch
# User Pradeepkumar Gayam <in3xes at gmail.com>
# Date 1278922650 -19800
# Branch stable
# Node ID 57655345de4bda2ed96cd0ac1d681065c14b4203
# Parent c018677a0c5e6d0521433836b7143f4499d0b55f
sshrepo: support parentdeltas
diff -r c018677a0c5e -r 57655345de4b mercurial/hgweb/protocol.py
--- a/mercurial/hgweb/protocol.py Mon Jul 12 12:56:34 2010 +0530
+++ b/mercurial/hgweb/protocol.py Mon Jul 12 13:47:30 2010 +0530
@@ -167,7 +167,7 @@
urllib.quote(req.env.get('REMOTE_HOST', '')),
urllib.quote(req.env.get('REMOTE_USER', '')))
try:
- ret = repo.addchangegroup(gen, 'serve', url, lock=lock,pdelta)
+ ret = repo.addchangegroup(gen, 'serve', url, lock=lock, pdelta=pdelta)
except util.Abort, inst:
sys.stdout.write("abort: %s\n" % inst)
ret = 0
diff -r c018677a0c5e -r 57655345de4b mercurial/sshrepo.py
--- a/mercurial/sshrepo.py Mon Jul 12 12:56:34 2010 +0530
+++ b/mercurial/sshrepo.py Mon Jul 12 13:47:30 2010 +0530
@@ -206,22 +206,36 @@
except:
self.abort(error.ResponseError(_("unexpected response:"), d))
- def changegroup(self, nodes, kind):
+ def changegroup(self, nodes, kind, pdelta=False):
n = " ".join(map(hex, nodes))
- return self.do_cmd("changegroup", roots=n)
+ if pdelta:
+ return self.do_cmd("changegroup", roots=n, parentdelta='parentdelta')
+ else:
+ return self.do_cmd("changegroup", roots=n)
- def changegroupsubset(self, bases, heads, kind):
+ def changegroupsubset(self, bases, heads, kind, pdelta=False):
self.requirecap('changegroupsubset', _('look up remote changes'))
bases = " ".join(map(hex, bases))
heads = " ".join(map(hex, heads))
- return self.do_cmd("changegroupsubset", bases=bases, heads=heads)
+ if pdelta:
+ return self.do_cmd("changegroupsubset", bases=bases, heads=heads,
+ parentdelta='parentdelta')
+ else:
+ return self.do_cmd("changegroupsubset", bases=bases, heads=heads)
- def unbundle(self, cg, heads, source):
+ def unbundle(self, cg, heads, source, pdelta=False):
'''Send cg (a readable file-like object representing the
changegroup to push, typically a chunkbuffer object) to the
remote server as a bundle. Return an integer indicating the
result of the push (see localrepository.addchangegroup()).'''
- d = self.call("unbundle", heads=' '.join(map(hex, heads)))
+
+
+ if pdelta:
+ d = self.call("unbundle", heads=' '.join(map(hex, heads)),
+ parentdelta='parentdelta')
+ else:
+ d = self.call("unbundle", heads=' '.join(map(hex, heads)))
+
if d:
# remote may send "unsynced changes"
self.abort(error.RepoError(_("push refused: %s") % d))
@@ -245,11 +259,15 @@
except:
self.abort(error.ResponseError(_("unexpected response:"), r))
- def addchangegroup(self, cg, source, url):
+ def addchangegroup(self, cg, source, url, pdelta=False):
'''Send a changegroup to the remote server. Return an integer
similar to unbundle(). DEPRECATED, since it requires locking the
remote.'''
- d = self.call("addchangegroup")
+ if pdelta:
+ d = self.call("addchangegroup", parentdelta='parentdelta'))
+ else:
+ d = self.call("addchangegroup")
+
if d:
self.abort(error.RepoError(_("push refused: %s") % d))
while 1:
More information about the Mercurial-devel
mailing list