[PATCH 12 of 15] wire-proto: push parentdeltas to httprepo if flag is on
Benoit Boissinot
benoit.boissinot at ens-lyon.org
Tue Jul 13 08:51:15 CDT 2010
On Mon, Jul 12, 2010 at 04:19:54PM +0530, Pradeepkumar Gayam wrote:
> # HG changeset patch
> # User Pradeepkumar Gayam <in3xes at gmail.com>
> # Date 1278919594 -19800
> # Branch stable
> # Node ID c018677a0c5e6d0521433836b7143f4499d0b55f
> # Parent 5cbf744770059217f22720b935e889f841c9b508
> wire-proto: push parentdeltas to httprepo if flag is on
>
> diff -r 5cbf74477005 -r c018677a0c5e mercurial/httprepo.py
> --- a/mercurial/httprepo.py Mon Jul 12 12:38:29 2010 +0530
> +++ b/mercurial/httprepo.py Mon Jul 12 12:56:34 2010 +0530
> @@ -214,7 +214,7 @@
> f = self.do_cmd("changegroupsubset", bases=baselst, heads=headlst)
> return util.chunkbuffer(zgenerator(f))
>
> - 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 response code:
> @@ -242,10 +242,17 @@
> fp = url.httpsendfile(tempname, "rb")
> try:
> try:
> - resp = self.do_read(
> - 'unbundle', data=fp,
> - headers={'Content-Type': 'application/mercurial-0.1'},
> - heads=' '.join(map(hex, heads)))
> + if pdelta:
> + resp = self.do_read(
> + 'unbundle', data=fp, parentdelta='parentdelta'
> + headers={'Content-Type': 'application/mercurial-0.1'},
> + heads=' '.join(map(hex, heads)))
> + else:
> + resp = self.do_read(
> + 'unbundle', data=fp,
> + headers={'Content-Type': 'application/mercurial-0.1'},
> + heads=' '.join(map(hex, heads)))
> +
I am pretty sure you can avoid duplicating the code.
> resp_code, output = resp.split('\n', 1)
> try:
> ret = int(resp_code)
> diff -r 5cbf74477005 -r c018677a0c5e mercurial/localrepo.py
> --- a/mercurial/localrepo.py Mon Jul 12 12:38:29 2010 +0530
> +++ b/mercurial/localrepo.py Mon Jul 12 12:56:34 2010 +0530
> @@ -1235,12 +1235,13 @@
> Return an integer: see push().
> '''
> lock = remote.lock()
> + pdelta = rempte.capable('parentdelta')
> try:
> - ret = discovery.prepush(self, remote, force, revs, newbranch)
> + ret = discovery.prepush(self, remote, force, revs, newbranch, pdelta)
why would discovery need to know about pdelta ?
> @@ -1255,14 +1256,15 @@
> # different heads (someone else won commit/push race), server
> # aborts.
>
> - ret = discovery.prepush(self, remote, force, revs, newbranch)
> + pdelta = remote.capable('parentdelta')
> + ret = discovery.prepush(self, remote, force, revs, newbranch, pdelta)
ditto
Benoit
--
:wq
More information about the Mercurial-devel
mailing list