[PATCH 3 of 3 V2-rebased] bundle2: convey PushkeyFailed error over the wire
Augie Fackler
raf at durin42.com
Wed Jun 10 14:26:59 UTC 2015
On Tue, Jun 09, 2015 at 10:56:28AM -0700, Pierre-Yves David wrote:
> # HG changeset patch
> # User Pierre-Yves David <pierre-yves.david at fb.com>
> # Date 1433547135 25200
> # Fri Jun 05 16:32:15 2015 -0700
> # Node ID 21bd4a20578e5a308c1e0b4187481a5d4250e943
> # Parent c3795ae132413685580d1b2d51abdb46bc134476
> bundle2: convey PushkeyFailed error over the wire
Queued these, thanks
>
> We add a way to convey the precise exception. This will allow better error
> message on the server.
>
> diff --git a/mercurial/bundle2.py b/mercurial/bundle2.py
> --- a/mercurial/bundle2.py
> +++ b/mercurial/bundle2.py
> @@ -1107,11 +1107,12 @@ class unbundlepart(unpackermixin):
> self._pos = newpos
>
> # These are only the static capabilities.
> # Check the 'getrepocaps' function for the rest.
> capabilities = {'HG20': (),
> - 'error': ('abort', 'unsupportedcontent', 'pushraced'),
> + 'error': ('abort', 'unsupportedcontent', 'pushraced',
> + 'pushkey'),
> 'listkeys': (),
> 'pushkey': (),
> 'digests': tuple(sorted(util.DIGESTS.keys())),
> 'remote-changegroup': ('http', 'https'),
> 'hgtagsfnodes': (),
> @@ -1288,10 +1289,21 @@ def handlereplycaps(op, inpart):
> @parthandler('error:abort', ('message', 'hint'))
> def handleerrorabort(op, inpart):
> """Used to transmit abort error over the wire"""
> raise util.Abort(inpart.params['message'], hint=inpart.params.get('hint'))
>
> + at parthandler('error:pushkey', ('namespace', 'key', 'new', 'old', 'ret',
> + 'in-reply-to'))
> +def handleerrorpushkey(op, inpart):
> + """Used to transmit failure of a mandatory pushkey over the wire"""
> + kwargs = {}
> + for name in ('namespace', 'key', 'new', 'old', 'ret'):
> + value = inpart.params.get(name)
> + if value is not None:
> + kwargs[name] = value
> + raise error.PushkeyFailed(inpart.params['in-reply-to'], **kwargs)
> +
> @parthandler('error:unsupportedcontent', ('parttype', 'params'))
> def handleerrorunsupportedcontent(op, inpart):
> """Used to transmit unknown content error over the wire"""
> kwargs = {}
> parttype = inpart.params.get('parttype')
> diff --git a/mercurial/wireproto.py b/mercurial/wireproto.py
> --- a/mercurial/wireproto.py
> +++ b/mercurial/wireproto.py
> @@ -817,11 +817,31 @@ def unbundle(repo, proto, heads):
>
> bundler = bundle2.bundle20(repo.ui)
> for out in getattr(exc, '_bundle2salvagedoutput', ()):
> bundler.addpart(out)
> try:
> - raise
> + try:
> + raise
> + except error.PushkeyFailed, exc:
> + # check client caps
> + remotecaps = getattr(exc, '_replycaps', None)
> + if (remotecaps is not None
> + and 'pushkey' not in remotecaps.get('error', ())):
> + # no support remote side, fallback to Abort handler.
> + raise
> + part = bundler.newpart('error:pushkey')
> + part.addparam('in-reply-to', exc.partid)
> + if exc.namespace is not None:
> + part.addparam('namespace', exc.namespace, mandatory=False)
> + if exc.key is not None:
> + part.addparam('key', exc.key, mandatory=False)
> + if exc.new is not None:
> + part.addparam('new', exc.new, mandatory=False)
> + if exc.old is not None:
> + part.addparam('old', exc.old, mandatory=False)
> + if exc.ret is not None:
> + part.addparam('ret', exc.ret, mandatory=False)
> except error.BundleValueError, exc:
> errpart = bundler.newpart('error:unsupportedcontent')
> if exc.parttype is not None:
> errpart.addparam('parttype', exc.parttype)
> if exc.params:
> diff --git a/tests/test-acl.t b/tests/test-acl.t
> --- a/tests/test-acl.t
> +++ b/tests/test-acl.t
> @@ -97,17 +97,17 @@ Extension disabled for lack of a hook
> list of changesets:
> ef1ea85a6374b77d6da9dcda9541f498f2d17df7
> f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd
> 911600dab2ae7a9baff75958b84fe606851ce955
> bundle2-output-bundle: "HG20", 4 parts total
> - bundle2-output-part: "replycaps" 147 bytes payload
> + bundle2-output-part: "replycaps" 155 bytes payload
> bundle2-output-part: "check:heads" streamed payload
> bundle2-output-part: "changegroup" (params: 1 mandatory) streamed payload
> bundle2-output-part: "pushkey" (advisory) (params: 4 mandatory) empty payload
> bundle2-input-bundle: with-transaction
> bundle2-input-part: "replycaps" supported
> - bundle2-input-part: total payload size 147
> + bundle2-input-part: total payload size 155
> bundle2-input-part: "check:heads" supported
> bundle2-input-part: total payload size 20
> bundle2-input-part: "changegroup" (params: 1 mandatory) supported
> adding changesets
> add changeset ef1ea85a6374
> @@ -161,17 +161,17 @@ Extension disabled for lack of acl.sourc
> list of changesets:
> ef1ea85a6374b77d6da9dcda9541f498f2d17df7
> f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd
> 911600dab2ae7a9baff75958b84fe606851ce955
> bundle2-output-bundle: "HG20", 4 parts total
> - bundle2-output-part: "replycaps" 147 bytes payload
> + bundle2-output-part: "replycaps" 155 bytes payload
> bundle2-output-part: "check:heads" streamed payload
> bundle2-output-part: "changegroup" (params: 1 mandatory) streamed payload
> bundle2-output-part: "pushkey" (advisory) (params: 4 mandatory) empty payload
> bundle2-input-bundle: with-transaction
> bundle2-input-part: "replycaps" supported
> - bundle2-input-part: total payload size 147
> + bundle2-input-part: total payload size 155
> bundle2-input-part: "check:heads" supported
> bundle2-input-part: total payload size 20
> bundle2-input-part: "changegroup" (params: 1 mandatory) supported
> adding changesets
> add changeset ef1ea85a6374
> @@ -228,17 +228,17 @@ No [acl.allow]/[acl.deny]
> list of changesets:
> ef1ea85a6374b77d6da9dcda9541f498f2d17df7
> f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd
> 911600dab2ae7a9baff75958b84fe606851ce955
> bundle2-output-bundle: "HG20", 4 parts total
> - bundle2-output-part: "replycaps" 147 bytes payload
> + bundle2-output-part: "replycaps" 155 bytes payload
> bundle2-output-part: "check:heads" streamed payload
> bundle2-output-part: "changegroup" (params: 1 mandatory) streamed payload
> bundle2-output-part: "pushkey" (advisory) (params: 4 mandatory) empty payload
> bundle2-input-bundle: with-transaction
> bundle2-input-part: "replycaps" supported
> - bundle2-input-part: total payload size 147
> + bundle2-input-part: total payload size 155
> bundle2-input-part: "check:heads" supported
> bundle2-input-part: total payload size 20
> bundle2-input-part: "changegroup" (params: 1 mandatory) supported
> adding changesets
> add changeset ef1ea85a6374
> @@ -305,17 +305,17 @@ Empty [acl.allow]
> list of changesets:
> ef1ea85a6374b77d6da9dcda9541f498f2d17df7
> f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd
> 911600dab2ae7a9baff75958b84fe606851ce955
> bundle2-output-bundle: "HG20", 4 parts total
> - bundle2-output-part: "replycaps" 147 bytes payload
> + bundle2-output-part: "replycaps" 155 bytes payload
> bundle2-output-part: "check:heads" streamed payload
> bundle2-output-part: "changegroup" (params: 1 mandatory) streamed payload
> bundle2-output-part: "pushkey" (advisory) (params: 4 mandatory) empty payload
> bundle2-input-bundle: with-transaction
> bundle2-input-part: "replycaps" supported
> - bundle2-input-part: total payload size 147
> + bundle2-input-part: total payload size 155
> bundle2-input-part: "check:heads" supported
> bundle2-input-part: total payload size 20
> bundle2-input-part: "changegroup" (params: 1 mandatory) supported
> adding changesets
> add changeset ef1ea85a6374
> @@ -370,17 +370,17 @@ fred is allowed inside foo/
> list of changesets:
> ef1ea85a6374b77d6da9dcda9541f498f2d17df7
> f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd
> 911600dab2ae7a9baff75958b84fe606851ce955
> bundle2-output-bundle: "HG20", 4 parts total
> - bundle2-output-part: "replycaps" 147 bytes payload
> + bundle2-output-part: "replycaps" 155 bytes payload
> bundle2-output-part: "check:heads" streamed payload
> bundle2-output-part: "changegroup" (params: 1 mandatory) streamed payload
> bundle2-output-part: "pushkey" (advisory) (params: 4 mandatory) empty payload
> bundle2-input-bundle: with-transaction
> bundle2-input-part: "replycaps" supported
> - bundle2-input-part: total payload size 147
> + bundle2-input-part: total payload size 155
> bundle2-input-part: "check:heads" supported
> bundle2-input-part: total payload size 20
> bundle2-input-part: "changegroup" (params: 1 mandatory) supported
> adding changesets
> add changeset ef1ea85a6374
> @@ -440,17 +440,17 @@ Empty [acl.deny]
> list of changesets:
> ef1ea85a6374b77d6da9dcda9541f498f2d17df7
> f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd
> 911600dab2ae7a9baff75958b84fe606851ce955
> bundle2-output-bundle: "HG20", 4 parts total
> - bundle2-output-part: "replycaps" 147 bytes payload
> + bundle2-output-part: "replycaps" 155 bytes payload
> bundle2-output-part: "check:heads" streamed payload
> bundle2-output-part: "changegroup" (params: 1 mandatory) streamed payload
> bundle2-output-part: "pushkey" (advisory) (params: 4 mandatory) empty payload
> bundle2-input-bundle: with-transaction
> bundle2-input-part: "replycaps" supported
> - bundle2-input-part: total payload size 147
> + bundle2-input-part: total payload size 155
> bundle2-input-part: "check:heads" supported
> bundle2-input-part: total payload size 20
> bundle2-input-part: "changegroup" (params: 1 mandatory) supported
> adding changesets
> add changeset ef1ea85a6374
> @@ -507,17 +507,17 @@ fred is allowed inside foo/, but not foo
> list of changesets:
> ef1ea85a6374b77d6da9dcda9541f498f2d17df7
> f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd
> 911600dab2ae7a9baff75958b84fe606851ce955
> bundle2-output-bundle: "HG20", 4 parts total
> - bundle2-output-part: "replycaps" 147 bytes payload
> + bundle2-output-part: "replycaps" 155 bytes payload
> bundle2-output-part: "check:heads" streamed payload
> bundle2-output-part: "changegroup" (params: 1 mandatory) streamed payload
> bundle2-output-part: "pushkey" (advisory) (params: 4 mandatory) empty payload
> bundle2-input-bundle: with-transaction
> bundle2-input-part: "replycaps" supported
> - bundle2-input-part: total payload size 147
> + bundle2-input-part: total payload size 155
> bundle2-input-part: "check:heads" supported
> bundle2-input-part: total payload size 20
> bundle2-input-part: "changegroup" (params: 1 mandatory) supported
> adding changesets
> add changeset ef1ea85a6374
> @@ -579,17 +579,17 @@ fred is allowed inside foo/, but not foo
> list of changesets:
> ef1ea85a6374b77d6da9dcda9541f498f2d17df7
> f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd
> 911600dab2ae7a9baff75958b84fe606851ce955
> bundle2-output-bundle: "HG20", 4 parts total
> - bundle2-output-part: "replycaps" 147 bytes payload
> + bundle2-output-part: "replycaps" 155 bytes payload
> bundle2-output-part: "check:heads" streamed payload
> bundle2-output-part: "changegroup" (params: 1 mandatory) streamed payload
> bundle2-output-part: "pushkey" (advisory) (params: 4 mandatory) empty payload
> bundle2-input-bundle: with-transaction
> bundle2-input-part: "replycaps" supported
> - bundle2-input-part: total payload size 147
> + bundle2-input-part: total payload size 155
> bundle2-input-part: "check:heads" supported
> bundle2-input-part: total payload size 20
> bundle2-input-part: "changegroup" (params: 1 mandatory) supported
> adding changesets
> add changeset ef1ea85a6374
> @@ -648,17 +648,17 @@ fred is allowed inside foo/, but not foo
> list of changesets:
> ef1ea85a6374b77d6da9dcda9541f498f2d17df7
> f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd
> 911600dab2ae7a9baff75958b84fe606851ce955
> bundle2-output-bundle: "HG20", 4 parts total
> - bundle2-output-part: "replycaps" 147 bytes payload
> + bundle2-output-part: "replycaps" 155 bytes payload
> bundle2-output-part: "check:heads" streamed payload
> bundle2-output-part: "changegroup" (params: 1 mandatory) streamed payload
> bundle2-output-part: "pushkey" (advisory) (params: 4 mandatory) empty payload
> bundle2-input-bundle: with-transaction
> bundle2-input-part: "replycaps" supported
> - bundle2-input-part: total payload size 147
> + bundle2-input-part: total payload size 155
> bundle2-input-part: "check:heads" supported
> bundle2-input-part: total payload size 20
> bundle2-input-part: "changegroup" (params: 1 mandatory) supported
> adding changesets
> add changeset ef1ea85a6374
> @@ -719,17 +719,17 @@ barney is allowed everywhere
> list of changesets:
> ef1ea85a6374b77d6da9dcda9541f498f2d17df7
> f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd
> 911600dab2ae7a9baff75958b84fe606851ce955
> bundle2-output-bundle: "HG20", 4 parts total
> - bundle2-output-part: "replycaps" 147 bytes payload
> + bundle2-output-part: "replycaps" 155 bytes payload
> bundle2-output-part: "check:heads" streamed payload
> bundle2-output-part: "changegroup" (params: 1 mandatory) streamed payload
> bundle2-output-part: "pushkey" (advisory) (params: 4 mandatory) empty payload
> bundle2-input-bundle: with-transaction
> bundle2-input-part: "replycaps" supported
> - bundle2-input-part: total payload size 147
> + bundle2-input-part: total payload size 155
> bundle2-input-part: "check:heads" supported
> bundle2-input-part: total payload size 20
> bundle2-input-part: "changegroup" (params: 1 mandatory) supported
> adding changesets
> add changeset ef1ea85a6374
> @@ -803,17 +803,17 @@ wilma can change files with a .txt exten
> list of changesets:
> ef1ea85a6374b77d6da9dcda9541f498f2d17df7
> f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd
> 911600dab2ae7a9baff75958b84fe606851ce955
> bundle2-output-bundle: "HG20", 4 parts total
> - bundle2-output-part: "replycaps" 147 bytes payload
> + bundle2-output-part: "replycaps" 155 bytes payload
> bundle2-output-part: "check:heads" streamed payload
> bundle2-output-part: "changegroup" (params: 1 mandatory) streamed payload
> bundle2-output-part: "pushkey" (advisory) (params: 4 mandatory) empty payload
> bundle2-input-bundle: with-transaction
> bundle2-input-part: "replycaps" supported
> - bundle2-input-part: total payload size 147
> + bundle2-input-part: total payload size 155
> bundle2-input-part: "check:heads" supported
> bundle2-input-part: total payload size 20
> bundle2-input-part: "changegroup" (params: 1 mandatory) supported
> adding changesets
> add changeset ef1ea85a6374
> @@ -881,17 +881,17 @@ file specified by acl.config does not ex
> list of changesets:
> ef1ea85a6374b77d6da9dcda9541f498f2d17df7
> f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd
> 911600dab2ae7a9baff75958b84fe606851ce955
> bundle2-output-bundle: "HG20", 4 parts total
> - bundle2-output-part: "replycaps" 147 bytes payload
> + bundle2-output-part: "replycaps" 155 bytes payload
> bundle2-output-part: "check:heads" streamed payload
> bundle2-output-part: "changegroup" (params: 1 mandatory) streamed payload
> bundle2-output-part: "pushkey" (advisory) (params: 4 mandatory) empty payload
> bundle2-input-bundle: with-transaction
> bundle2-input-part: "replycaps" supported
> - bundle2-input-part: total payload size 147
> + bundle2-input-part: total payload size 155
> bundle2-input-part: "check:heads" supported
> bundle2-input-part: total payload size 20
> bundle2-input-part: "changegroup" (params: 1 mandatory) supported
> adding changesets
> add changeset ef1ea85a6374
> @@ -954,17 +954,17 @@ betty is allowed inside foo/ by a acl.co
> list of changesets:
> ef1ea85a6374b77d6da9dcda9541f498f2d17df7
> f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd
> 911600dab2ae7a9baff75958b84fe606851ce955
> bundle2-output-bundle: "HG20", 4 parts total
> - bundle2-output-part: "replycaps" 147 bytes payload
> + bundle2-output-part: "replycaps" 155 bytes payload
> bundle2-output-part: "check:heads" streamed payload
> bundle2-output-part: "changegroup" (params: 1 mandatory) streamed payload
> bundle2-output-part: "pushkey" (advisory) (params: 4 mandatory) empty payload
> bundle2-input-bundle: with-transaction
> bundle2-input-part: "replycaps" supported
> - bundle2-input-part: total payload size 147
> + bundle2-input-part: total payload size 155
> bundle2-input-part: "check:heads" supported
> bundle2-input-part: total payload size 20
> bundle2-input-part: "changegroup" (params: 1 mandatory) supported
> adding changesets
> add changeset ef1ea85a6374
> @@ -1038,17 +1038,17 @@ acl.config can set only [acl.allow]/[acl
> list of changesets:
> ef1ea85a6374b77d6da9dcda9541f498f2d17df7
> f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd
> 911600dab2ae7a9baff75958b84fe606851ce955
> bundle2-output-bundle: "HG20", 4 parts total
> - bundle2-output-part: "replycaps" 147 bytes payload
> + bundle2-output-part: "replycaps" 155 bytes payload
> bundle2-output-part: "check:heads" streamed payload
> bundle2-output-part: "changegroup" (params: 1 mandatory) streamed payload
> bundle2-output-part: "pushkey" (advisory) (params: 4 mandatory) empty payload
> bundle2-input-bundle: with-transaction
> bundle2-input-part: "replycaps" supported
> - bundle2-input-part: total payload size 147
> + bundle2-input-part: total payload size 155
> bundle2-input-part: "check:heads" supported
> bundle2-input-part: total payload size 20
> bundle2-input-part: "changegroup" (params: 1 mandatory) supported
> adding changesets
> add changeset ef1ea85a6374
> @@ -1125,17 +1125,17 @@ fred is always allowed
> list of changesets:
> ef1ea85a6374b77d6da9dcda9541f498f2d17df7
> f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd
> 911600dab2ae7a9baff75958b84fe606851ce955
> bundle2-output-bundle: "HG20", 4 parts total
> - bundle2-output-part: "replycaps" 147 bytes payload
> + bundle2-output-part: "replycaps" 155 bytes payload
> bundle2-output-part: "check:heads" streamed payload
> bundle2-output-part: "changegroup" (params: 1 mandatory) streamed payload
> bundle2-output-part: "pushkey" (advisory) (params: 4 mandatory) empty payload
> bundle2-input-bundle: with-transaction
> bundle2-input-part: "replycaps" supported
> - bundle2-input-part: total payload size 147
> + bundle2-input-part: total payload size 155
> bundle2-input-part: "check:heads" supported
> bundle2-input-part: total payload size 20
> bundle2-input-part: "changegroup" (params: 1 mandatory) supported
> adding changesets
> add changeset ef1ea85a6374
> @@ -1208,17 +1208,17 @@ no one is allowed inside foo/Bar/
> list of changesets:
> ef1ea85a6374b77d6da9dcda9541f498f2d17df7
> f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd
> 911600dab2ae7a9baff75958b84fe606851ce955
> bundle2-output-bundle: "HG20", 4 parts total
> - bundle2-output-part: "replycaps" 147 bytes payload
> + bundle2-output-part: "replycaps" 155 bytes payload
> bundle2-output-part: "check:heads" streamed payload
> bundle2-output-part: "changegroup" (params: 1 mandatory) streamed payload
> bundle2-output-part: "pushkey" (advisory) (params: 4 mandatory) empty payload
> bundle2-input-bundle: with-transaction
> bundle2-input-part: "replycaps" supported
> - bundle2-input-part: total payload size 147
> + bundle2-input-part: total payload size 155
> bundle2-input-part: "check:heads" supported
> bundle2-input-part: total payload size 20
> bundle2-input-part: "changegroup" (params: 1 mandatory) supported
> adding changesets
> add changeset ef1ea85a6374
> @@ -1284,17 +1284,17 @@ OS-level groups
> list of changesets:
> ef1ea85a6374b77d6da9dcda9541f498f2d17df7
> f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd
> 911600dab2ae7a9baff75958b84fe606851ce955
> bundle2-output-bundle: "HG20", 4 parts total
> - bundle2-output-part: "replycaps" 147 bytes payload
> + bundle2-output-part: "replycaps" 155 bytes payload
> bundle2-output-part: "check:heads" streamed payload
> bundle2-output-part: "changegroup" (params: 1 mandatory) streamed payload
> bundle2-output-part: "pushkey" (advisory) (params: 4 mandatory) empty payload
> bundle2-input-bundle: with-transaction
> bundle2-input-part: "replycaps" supported
> - bundle2-input-part: total payload size 147
> + bundle2-input-part: total payload size 155
> bundle2-input-part: "check:heads" supported
> bundle2-input-part: total payload size 20
> bundle2-input-part: "changegroup" (params: 1 mandatory) supported
> adding changesets
> add changeset ef1ea85a6374
> @@ -1368,17 +1368,17 @@ OS-level groups
> list of changesets:
> ef1ea85a6374b77d6da9dcda9541f498f2d17df7
> f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd
> 911600dab2ae7a9baff75958b84fe606851ce955
> bundle2-output-bundle: "HG20", 4 parts total
> - bundle2-output-part: "replycaps" 147 bytes payload
> + bundle2-output-part: "replycaps" 155 bytes payload
> bundle2-output-part: "check:heads" streamed payload
> bundle2-output-part: "changegroup" (params: 1 mandatory) streamed payload
> bundle2-output-part: "pushkey" (advisory) (params: 4 mandatory) empty payload
> bundle2-input-bundle: with-transaction
> bundle2-input-part: "replycaps" supported
> - bundle2-input-part: total payload size 147
> + bundle2-input-part: total payload size 155
> bundle2-input-part: "check:heads" supported
> bundle2-input-part: total payload size 20
> bundle2-input-part: "changegroup" (params: 1 mandatory) supported
> adding changesets
> add changeset ef1ea85a6374
> @@ -1483,18 +1483,18 @@ No branch acls specified
> ef1ea85a6374b77d6da9dcda9541f498f2d17df7
> f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd
> 911600dab2ae7a9baff75958b84fe606851ce955
> e8fc755d4d8217ee5b0c2bb41558c40d43b92c01
> bundle2-output-bundle: "HG20", 5 parts total
> - bundle2-output-part: "replycaps" 147 bytes payload
> + bundle2-output-part: "replycaps" 155 bytes payload
> bundle2-output-part: "check:heads" streamed payload
> bundle2-output-part: "changegroup" (params: 1 mandatory) streamed payload
> bundle2-output-part: "pushkey" (advisory) (params: 4 mandatory) empty payload
> bundle2-output-part: "pushkey" (advisory) (params: 4 mandatory) empty payload
> bundle2-input-bundle: with-transaction
> bundle2-input-part: "replycaps" supported
> - bundle2-input-part: total payload size 147
> + bundle2-input-part: total payload size 155
> bundle2-input-part: "check:heads" supported
> bundle2-input-part: total payload size 20
> bundle2-input-part: "changegroup" (params: 1 mandatory) supported
> adding changesets
> add changeset ef1ea85a6374
> @@ -1572,18 +1572,18 @@ Branch acl deny test
> ef1ea85a6374b77d6da9dcda9541f498f2d17df7
> f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd
> 911600dab2ae7a9baff75958b84fe606851ce955
> e8fc755d4d8217ee5b0c2bb41558c40d43b92c01
> bundle2-output-bundle: "HG20", 5 parts total
> - bundle2-output-part: "replycaps" 147 bytes payload
> + bundle2-output-part: "replycaps" 155 bytes payload
> bundle2-output-part: "check:heads" streamed payload
> bundle2-output-part: "changegroup" (params: 1 mandatory) streamed payload
> bundle2-output-part: "pushkey" (advisory) (params: 4 mandatory) empty payload
> bundle2-output-part: "pushkey" (advisory) (params: 4 mandatory) empty payload
> bundle2-input-bundle: with-transaction
> bundle2-input-part: "replycaps" supported
> - bundle2-input-part: total payload size 147
> + bundle2-input-part: total payload size 155
> bundle2-input-part: "check:heads" supported
> bundle2-input-part: total payload size 20
> bundle2-input-part: "changegroup" (params: 1 mandatory) supported
> adding changesets
> add changeset ef1ea85a6374
> @@ -1646,18 +1646,18 @@ Branch acl empty allow test
> ef1ea85a6374b77d6da9dcda9541f498f2d17df7
> f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd
> 911600dab2ae7a9baff75958b84fe606851ce955
> e8fc755d4d8217ee5b0c2bb41558c40d43b92c01
> bundle2-output-bundle: "HG20", 5 parts total
> - bundle2-output-part: "replycaps" 147 bytes payload
> + bundle2-output-part: "replycaps" 155 bytes payload
> bundle2-output-part: "check:heads" streamed payload
> bundle2-output-part: "changegroup" (params: 1 mandatory) streamed payload
> bundle2-output-part: "pushkey" (advisory) (params: 4 mandatory) empty payload
> bundle2-output-part: "pushkey" (advisory) (params: 4 mandatory) empty payload
> bundle2-input-bundle: with-transaction
> bundle2-input-part: "replycaps" supported
> - bundle2-input-part: total payload size 147
> + bundle2-input-part: total payload size 155
> bundle2-input-part: "check:heads" supported
> bundle2-input-part: total payload size 20
> bundle2-input-part: "changegroup" (params: 1 mandatory) supported
> adding changesets
> add changeset ef1ea85a6374
> @@ -1716,18 +1716,18 @@ Branch acl allow other
> ef1ea85a6374b77d6da9dcda9541f498f2d17df7
> f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd
> 911600dab2ae7a9baff75958b84fe606851ce955
> e8fc755d4d8217ee5b0c2bb41558c40d43b92c01
> bundle2-output-bundle: "HG20", 5 parts total
> - bundle2-output-part: "replycaps" 147 bytes payload
> + bundle2-output-part: "replycaps" 155 bytes payload
> bundle2-output-part: "check:heads" streamed payload
> bundle2-output-part: "changegroup" (params: 1 mandatory) streamed payload
> bundle2-output-part: "pushkey" (advisory) (params: 4 mandatory) empty payload
> bundle2-output-part: "pushkey" (advisory) (params: 4 mandatory) empty payload
> bundle2-input-bundle: with-transaction
> bundle2-input-part: "replycaps" supported
> - bundle2-input-part: total payload size 147
> + bundle2-input-part: total payload size 155
> bundle2-input-part: "check:heads" supported
> bundle2-input-part: total payload size 20
> bundle2-input-part: "changegroup" (params: 1 mandatory) supported
> adding changesets
> add changeset ef1ea85a6374
> @@ -1780,18 +1780,18 @@ Branch acl allow other
> ef1ea85a6374b77d6da9dcda9541f498f2d17df7
> f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd
> 911600dab2ae7a9baff75958b84fe606851ce955
> e8fc755d4d8217ee5b0c2bb41558c40d43b92c01
> bundle2-output-bundle: "HG20", 5 parts total
> - bundle2-output-part: "replycaps" 147 bytes payload
> + bundle2-output-part: "replycaps" 155 bytes payload
> bundle2-output-part: "check:heads" streamed payload
> bundle2-output-part: "changegroup" (params: 1 mandatory) streamed payload
> bundle2-output-part: "pushkey" (advisory) (params: 4 mandatory) empty payload
> bundle2-output-part: "pushkey" (advisory) (params: 4 mandatory) empty payload
> bundle2-input-bundle: with-transaction
> bundle2-input-part: "replycaps" supported
> - bundle2-input-part: total payload size 147
> + bundle2-input-part: total payload size 155
> bundle2-input-part: "check:heads" supported
> bundle2-input-part: total payload size 20
> bundle2-input-part: "changegroup" (params: 1 mandatory) supported
> adding changesets
> add changeset ef1ea85a6374
> @@ -1874,18 +1874,18 @@ push foobar into the remote
> ef1ea85a6374b77d6da9dcda9541f498f2d17df7
> f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd
> 911600dab2ae7a9baff75958b84fe606851ce955
> e8fc755d4d8217ee5b0c2bb41558c40d43b92c01
> bundle2-output-bundle: "HG20", 5 parts total
> - bundle2-output-part: "replycaps" 147 bytes payload
> + bundle2-output-part: "replycaps" 155 bytes payload
> bundle2-output-part: "check:heads" streamed payload
> bundle2-output-part: "changegroup" (params: 1 mandatory) streamed payload
> bundle2-output-part: "pushkey" (advisory) (params: 4 mandatory) empty payload
> bundle2-output-part: "pushkey" (advisory) (params: 4 mandatory) empty payload
> bundle2-input-bundle: with-transaction
> bundle2-input-part: "replycaps" supported
> - bundle2-input-part: total payload size 147
> + bundle2-input-part: total payload size 155
> bundle2-input-part: "check:heads" supported
> bundle2-input-part: total payload size 20
> bundle2-input-part: "changegroup" (params: 1 mandatory) supported
> adding changesets
> add changeset ef1ea85a6374
> @@ -1967,18 +1967,18 @@ Branch acl conflicting deny
> ef1ea85a6374b77d6da9dcda9541f498f2d17df7
> f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd
> 911600dab2ae7a9baff75958b84fe606851ce955
> e8fc755d4d8217ee5b0c2bb41558c40d43b92c01
> bundle2-output-bundle: "HG20", 5 parts total
> - bundle2-output-part: "replycaps" 147 bytes payload
> + bundle2-output-part: "replycaps" 155 bytes payload
> bundle2-output-part: "check:heads" streamed payload
> bundle2-output-part: "changegroup" (params: 1 mandatory) streamed payload
> bundle2-output-part: "pushkey" (advisory) (params: 4 mandatory) empty payload
> bundle2-output-part: "pushkey" (advisory) (params: 4 mandatory) empty payload
> bundle2-input-bundle: with-transaction
> bundle2-input-part: "replycaps" supported
> - bundle2-input-part: total payload size 147
> + bundle2-input-part: total payload size 155
> bundle2-input-part: "check:heads" supported
> bundle2-input-part: total payload size 20
> bundle2-input-part: "changegroup" (params: 1 mandatory) supported
> adding changesets
> add changeset ef1ea85a6374
> @@ -2036,18 +2036,18 @@ User 'astro' must not be denied
> ef1ea85a6374b77d6da9dcda9541f498f2d17df7
> f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd
> 911600dab2ae7a9baff75958b84fe606851ce955
> e8fc755d4d8217ee5b0c2bb41558c40d43b92c01
> bundle2-output-bundle: "HG20", 5 parts total
> - bundle2-output-part: "replycaps" 147 bytes payload
> + bundle2-output-part: "replycaps" 155 bytes payload
> bundle2-output-part: "check:heads" streamed payload
> bundle2-output-part: "changegroup" (params: 1 mandatory) streamed payload
> bundle2-output-part: "pushkey" (advisory) (params: 4 mandatory) empty payload
> bundle2-output-part: "pushkey" (advisory) (params: 4 mandatory) empty payload
> bundle2-input-bundle: with-transaction
> bundle2-input-part: "replycaps" supported
> - bundle2-input-part: total payload size 147
> + bundle2-input-part: total payload size 155
> bundle2-input-part: "check:heads" supported
> bundle2-input-part: total payload size 20
> bundle2-input-part: "changegroup" (params: 1 mandatory) supported
> adding changesets
> add changeset ef1ea85a6374
> @@ -2123,18 +2123,18 @@ Non-astro users must be denied
> ef1ea85a6374b77d6da9dcda9541f498f2d17df7
> f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd
> 911600dab2ae7a9baff75958b84fe606851ce955
> e8fc755d4d8217ee5b0c2bb41558c40d43b92c01
> bundle2-output-bundle: "HG20", 5 parts total
> - bundle2-output-part: "replycaps" 147 bytes payload
> + bundle2-output-part: "replycaps" 155 bytes payload
> bundle2-output-part: "check:heads" streamed payload
> bundle2-output-part: "changegroup" (params: 1 mandatory) streamed payload
> bundle2-output-part: "pushkey" (advisory) (params: 4 mandatory) empty payload
> bundle2-output-part: "pushkey" (advisory) (params: 4 mandatory) empty payload
> bundle2-input-bundle: with-transaction
> bundle2-input-part: "replycaps" supported
> - bundle2-input-part: total payload size 147
> + bundle2-input-part: total payload size 155
> bundle2-input-part: "check:heads" supported
> bundle2-input-part: total payload size 20
> bundle2-input-part: "changegroup" (params: 1 mandatory) supported
> adding changesets
> add changeset ef1ea85a6374
> diff --git a/tests/test-bundle2-exchange.t b/tests/test-bundle2-exchange.t
> --- a/tests/test-bundle2-exchange.t
> +++ b/tests/test-bundle2-exchange.t
> @@ -775,11 +775,11 @@ Check abort from mandatory pushkey
> remote: do not push the key !
> remote: pushkey-abort: prepushkey.failpush hook exited with status 1
> remote: transaction abort!
> remote: Cleaning up the mess...
> remote: rollback completed
> - abort: failed to update value for "phases/cd010b8cd998f3981a5a8115f94f8da4ab506089"
> + abort: Correct phase push failed (because hooks)
> [255]
> $ hg -R main push http://localhost:$HGPORT2/ -r e7ec4e813ba6
> pushing to http://localhost:$HGPORT2/
> searching for changes
> remote: adding changesets
> @@ -789,11 +789,11 @@ Check abort from mandatory pushkey
> remote: do not push the key !
> remote: pushkey-abort: prepushkey.failpush hook exited with status 1
> remote: transaction abort!
> remote: Cleaning up the mess...
> remote: rollback completed
> - abort: failed to update value for "phases/cd010b8cd998f3981a5a8115f94f8da4ab506089"
> + abort: Correct phase push failed (because hooks)
> [255]
>
> (Failure from a the pushkey)
>
> $ cat > mandatorypart.py << EOF
> @@ -847,11 +847,11 @@ Check abort from mandatory pushkey
> remote: Cleaning up the mess...
> remote: rollback completed
> remote: pushkey: lock state after "phases"
> remote: lock: free
> remote: wlock: free
> - abort: failed to update value for "phases/cd010b8cd998f3981a5a8115f94f8da4ab506089"
> + abort: Clown phase push failed
> [255]
> $ hg -R main push http://localhost:$HGPORT2/ -r e7ec4e813ba6
> pushing to http://localhost:$HGPORT2/
> searching for changes
> remote: adding changesets
> @@ -862,8 +862,8 @@ Check abort from mandatory pushkey
> remote: Cleaning up the mess...
> remote: rollback completed
> remote: pushkey: lock state after "phases"
> remote: lock: free
> remote: wlock: free
> - abort: failed to update value for "phases/cd010b8cd998f3981a5a8115f94f8da4ab506089"
> + abort: Clown phase push failed
> [255]
>
> diff --git a/tests/test-http-proxy.t b/tests/test-http-proxy.t
> --- a/tests/test-http-proxy.t
> +++ b/tests/test-http-proxy.t
> @@ -108,23 +108,23 @@ do not use the proxy if it is in the no
> $ cat proxy.log
> * - - [*] "GET http://localhost:$HGPORT/?cmd=capabilities HTTP/1.1" - - (glob)
> * - - [*] "GET http://localhost:$HGPORT/?cmd=branchmap HTTP/1.1" - - (glob)
> * - - [*] "GET http://localhost:$HGPORT/?cmd=stream_out HTTP/1.1" - - (glob)
> * - - [*] "GET http://localhost:$HGPORT/?cmd=batch HTTP/1.1" - - x-hgarg-1:cmds=heads+%3Bknown+nodes%3D83180e7845de420a1bb46896fd5fe05294f8d629 (glob)
> - * - - [*] "GET http://localhost:$HGPORT/?cmd=getbundle HTTP/1.1" - - x-hgarg-1:bundlecaps=HG20%2Cbundle2%3DHG20%250Achangegroup%253D01%252C02%250Adigests%253Dmd5%252Csha1%252Csha512%250Aerror%253Dabort%252Cunsupportedcontent%252Cpushraced%250Ahgtagsfnodes%250Alistkeys%250Apushkey%250Aremote-changegroup%253Dhttp%252Chttps&cg=0&common=83180e7845de420a1bb46896fd5fe05294f8d629&heads=83180e7845de420a1bb46896fd5fe05294f8d629&listkeys=phase%2Cbookmarks (glob)
> + * - - [*] "GET http://localhost:$HGPORT/?cmd=getbundle HTTP/1.1" - - x-hgarg-1:bundlecaps=HG20%2Cbundle2%3DHG20%250Achangegroup%253D01%252C02%250Adigests%253Dmd5%252Csha1%252Csha512%250Aerror%253Dabort%252Cunsupportedcontent%252Cpushraced%252Cpushkey%250Ahgtagsfnodes%250Alistkeys%250Apushkey%250Aremote-changegroup%253Dhttp%252Chttps&cg=0&common=83180e7845de420a1bb46896fd5fe05294f8d629&heads=83180e7845de420a1bb46896fd5fe05294f8d629&listkeys=phase%2Cbookmarks (glob)
> * - - [*] "GET http://localhost:$HGPORT/?cmd=listkeys HTTP/1.1" - - x-hgarg-1:namespace=phases (glob)
> * - - [*] "GET http://localhost:$HGPORT/?cmd=capabilities HTTP/1.1" - - (glob)
> * - - [*] "GET http://localhost:$HGPORT/?cmd=batch HTTP/1.1" - - x-hgarg-1:cmds=heads+%3Bknown+nodes%3D (glob)
> - * - - [*] "GET http://localhost:$HGPORT/?cmd=getbundle HTTP/1.1" - - x-hgarg-1:bundlecaps=HG20%2Cbundle2%3DHG20%250Achangegroup%253D01%252C02%250Adigests%253Dmd5%252Csha1%252Csha512%250Aerror%253Dabort%252Cunsupportedcontent%252Cpushraced%250Ahgtagsfnodes%250Alistkeys%250Apushkey%250Aremote-changegroup%253Dhttp%252Chttps&cg=1&common=0000000000000000000000000000000000000000&heads=83180e7845de420a1bb46896fd5fe05294f8d629&listkeys=phase%2Cbookmarks (glob)
> + * - - [*] "GET http://localhost:$HGPORT/?cmd=getbundle HTTP/1.1" - - x-hgarg-1:bundlecaps=HG20%2Cbundle2%3DHG20%250Achangegroup%253D01%252C02%250Adigests%253Dmd5%252Csha1%252Csha512%250Aerror%253Dabort%252Cunsupportedcontent%252Cpushraced%252Cpushkey%250Ahgtagsfnodes%250Alistkeys%250Apushkey%250Aremote-changegroup%253Dhttp%252Chttps&cg=1&common=0000000000000000000000000000000000000000&heads=83180e7845de420a1bb46896fd5fe05294f8d629&listkeys=phase%2Cbookmarks (glob)
> * - - [*] "GET http://localhost:$HGPORT/?cmd=listkeys HTTP/1.1" - - x-hgarg-1:namespace=phases (glob)
> * - - [*] "GET http://localhost:$HGPORT/?cmd=capabilities HTTP/1.1" - - (glob)
> * - - [*] "GET http://localhost:$HGPORT/?cmd=batch HTTP/1.1" - - x-hgarg-1:cmds=heads+%3Bknown+nodes%3D (glob)
> - * - - [*] "GET http://localhost:$HGPORT/?cmd=getbundle HTTP/1.1" - - x-hgarg-1:bundlecaps=HG20%2Cbundle2%3DHG20%250Achangegroup%253D01%252C02%250Adigests%253Dmd5%252Csha1%252Csha512%250Aerror%253Dabort%252Cunsupportedcontent%252Cpushraced%250Ahgtagsfnodes%250Alistkeys%250Apushkey%250Aremote-changegroup%253Dhttp%252Chttps&cg=1&common=0000000000000000000000000000000000000000&heads=83180e7845de420a1bb46896fd5fe05294f8d629&listkeys=phase%2Cbookmarks (glob)
> + * - - [*] "GET http://localhost:$HGPORT/?cmd=getbundle HTTP/1.1" - - x-hgarg-1:bundlecaps=HG20%2Cbundle2%3DHG20%250Achangegroup%253D01%252C02%250Adigests%253Dmd5%252Csha1%252Csha512%250Aerror%253Dabort%252Cunsupportedcontent%252Cpushraced%252Cpushkey%250Ahgtagsfnodes%250Alistkeys%250Apushkey%250Aremote-changegroup%253Dhttp%252Chttps&cg=1&common=0000000000000000000000000000000000000000&heads=83180e7845de420a1bb46896fd5fe05294f8d629&listkeys=phase%2Cbookmarks (glob)
> * - - [*] "GET http://localhost:$HGPORT/?cmd=listkeys HTTP/1.1" - - x-hgarg-1:namespace=phases (glob)
> * - - [*] "GET http://localhost:$HGPORT/?cmd=capabilities HTTP/1.1" - - (glob)
> * - - [*] "GET http://localhost:$HGPORT/?cmd=batch HTTP/1.1" - - x-hgarg-1:cmds=heads+%3Bknown+nodes%3D (glob)
> - * - - [*] "GET http://localhost:$HGPORT/?cmd=getbundle HTTP/1.1" - - x-hgarg-1:bundlecaps=HG20%2Cbundle2%3DHG20%250Achangegroup%253D01%252C02%250Adigests%253Dmd5%252Csha1%252Csha512%250Aerror%253Dabort%252Cunsupportedcontent%252Cpushraced%250Ahgtagsfnodes%250Alistkeys%250Apushkey%250Aremote-changegroup%253Dhttp%252Chttps&cg=1&common=0000000000000000000000000000000000000000&heads=83180e7845de420a1bb46896fd5fe05294f8d629&listkeys=phase%2Cbookmarks (glob)
> + * - - [*] "GET http://localhost:$HGPORT/?cmd=getbundle HTTP/1.1" - - x-hgarg-1:bundlecaps=HG20%2Cbundle2%3DHG20%250Achangegroup%253D01%252C02%250Adigests%253Dmd5%252Csha1%252Csha512%250Aerror%253Dabort%252Cunsupportedcontent%252Cpushraced%252Cpushkey%250Ahgtagsfnodes%250Alistkeys%250Apushkey%250Aremote-changegroup%253Dhttp%252Chttps&cg=1&common=0000000000000000000000000000000000000000&heads=83180e7845de420a1bb46896fd5fe05294f8d629&listkeys=phase%2Cbookmarks (glob)
> * - - [*] "GET http://localhost:$HGPORT/?cmd=listkeys HTTP/1.1" - - x-hgarg-1:namespace=phases (glob)
> * - - [*] "GET http://localhost:$HGPORT/?cmd=capabilities HTTP/1.1" - - (glob)
> * - - [*] "GET http://localhost:$HGPORT/?cmd=batch HTTP/1.1" - - x-hgarg-1:cmds=heads+%3Bknown+nodes%3D (glob)
> - * - - [*] "GET http://localhost:$HGPORT/?cmd=getbundle HTTP/1.1" - - x-hgarg-1:bundlecaps=HG20%2Cbundle2%3DHG20%250Achangegroup%253D01%252C02%250Adigests%253Dmd5%252Csha1%252Csha512%250Aerror%253Dabort%252Cunsupportedcontent%252Cpushraced%250Ahgtagsfnodes%250Alistkeys%250Apushkey%250Aremote-changegroup%253Dhttp%252Chttps&cg=1&common=0000000000000000000000000000000000000000&heads=83180e7845de420a1bb46896fd5fe05294f8d629&listkeys=phase%2Cbookmarks (glob)
> + * - - [*] "GET http://localhost:$HGPORT/?cmd=getbundle HTTP/1.1" - - x-hgarg-1:bundlecaps=HG20%2Cbundle2%3DHG20%250Achangegroup%253D01%252C02%250Adigests%253Dmd5%252Csha1%252Csha512%250Aerror%253Dabort%252Cunsupportedcontent%252Cpushraced%252Cpushkey%250Ahgtagsfnodes%250Alistkeys%250Apushkey%250Aremote-changegroup%253Dhttp%252Chttps&cg=1&common=0000000000000000000000000000000000000000&heads=83180e7845de420a1bb46896fd5fe05294f8d629&listkeys=phase%2Cbookmarks (glob)
> * - - [*] "GET http://localhost:$HGPORT/?cmd=listkeys HTTP/1.1" - - x-hgarg-1:namespace=phases (glob)
> diff --git a/tests/test-http.t b/tests/test-http.t
> --- a/tests/test-http.t
> +++ b/tests/test-http.t
> @@ -260,16 +260,16 @@ test http authentication
> "GET /?cmd=capabilities HTTP/1.1" 200 -
> "GET /?cmd=branchmap HTTP/1.1" 200 -
> "GET /?cmd=stream_out HTTP/1.1" 401 -
> "GET /?cmd=stream_out HTTP/1.1" 200 -
> "GET /?cmd=batch HTTP/1.1" 200 - x-hgarg-1:cmds=heads+%3Bknown+nodes%3D5fed3813f7f5e1824344fdc9cf8f63bb662c292d
> - "GET /?cmd=getbundle HTTP/1.1" 200 - x-hgarg-1:bundlecaps=HG20%2Cbundle2%3DHG20%250Achangegroup%253D01%252C02%250Adigests%253Dmd5%252Csha1%252Csha512%250Aerror%253Dabort%252Cunsupportedcontent%252Cpushraced%250Ahgtagsfnodes%250Alistkeys%250Apushkey%250Aremote-changegroup%253Dhttp%252Chttps&cg=0&common=5fed3813f7f5e1824344fdc9cf8f63bb662c292d&heads=5fed3813f7f5e1824344fdc9cf8f63bb662c292d&listkeys=phase%2Cbookmarks
> + "GET /?cmd=getbundle HTTP/1.1" 200 - x-hgarg-1:bundlecaps=HG20%2Cbundle2%3DHG20%250Achangegroup%253D01%252C02%250Adigests%253Dmd5%252Csha1%252Csha512%250Aerror%253Dabort%252Cunsupportedcontent%252Cpushraced%252Cpushkey%250Ahgtagsfnodes%250Alistkeys%250Apushkey%250Aremote-changegroup%253Dhttp%252Chttps&cg=0&common=5fed3813f7f5e1824344fdc9cf8f63bb662c292d&heads=5fed3813f7f5e1824344fdc9cf8f63bb662c292d&listkeys=phase%2Cbookmarks
> "GET /?cmd=listkeys HTTP/1.1" 200 - x-hgarg-1:namespace=phases
> "GET /?cmd=capabilities HTTP/1.1" 200 -
> "GET /?cmd=batch HTTP/1.1" 200 - x-hgarg-1:cmds=heads+%3Bknown+nodes%3D
> - "GET /?cmd=getbundle HTTP/1.1" 401 - x-hgarg-1:bundlecaps=HG20%2Cbundle2%3DHG20%250Achangegroup%253D01%252C02%250Adigests%253Dmd5%252Csha1%252Csha512%250Aerror%253Dabort%252Cunsupportedcontent%252Cpushraced%250Ahgtagsfnodes%250Alistkeys%250Apushkey%250Aremote-changegroup%253Dhttp%252Chttps&cg=1&common=0000000000000000000000000000000000000000&heads=5fed3813f7f5e1824344fdc9cf8f63bb662c292d&listkeys=phase%2Cbookmarks
> - "GET /?cmd=getbundle HTTP/1.1" 200 - x-hgarg-1:bundlecaps=HG20%2Cbundle2%3DHG20%250Achangegroup%253D01%252C02%250Adigests%253Dmd5%252Csha1%252Csha512%250Aerror%253Dabort%252Cunsupportedcontent%252Cpushraced%250Ahgtagsfnodes%250Alistkeys%250Apushkey%250Aremote-changegroup%253Dhttp%252Chttps&cg=1&common=0000000000000000000000000000000000000000&heads=5fed3813f7f5e1824344fdc9cf8f63bb662c292d&listkeys=phase%2Cbookmarks
> + "GET /?cmd=getbundle HTTP/1.1" 401 - x-hgarg-1:bundlecaps=HG20%2Cbundle2%3DHG20%250Achangegroup%253D01%252C02%250Adigests%253Dmd5%252Csha1%252Csha512%250Aerror%253Dabort%252Cunsupportedcontent%252Cpushraced%252Cpushkey%250Ahgtagsfnodes%250Alistkeys%250Apushkey%250Aremote-changegroup%253Dhttp%252Chttps&cg=1&common=0000000000000000000000000000000000000000&heads=5fed3813f7f5e1824344fdc9cf8f63bb662c292d&listkeys=phase%2Cbookmarks
> + "GET /?cmd=getbundle HTTP/1.1" 200 - x-hgarg-1:bundlecaps=HG20%2Cbundle2%3DHG20%250Achangegroup%253D01%252C02%250Adigests%253Dmd5%252Csha1%252Csha512%250Aerror%253Dabort%252Cunsupportedcontent%252Cpushraced%252Cpushkey%250Ahgtagsfnodes%250Alistkeys%250Apushkey%250Aremote-changegroup%253Dhttp%252Chttps&cg=1&common=0000000000000000000000000000000000000000&heads=5fed3813f7f5e1824344fdc9cf8f63bb662c292d&listkeys=phase%2Cbookmarks
> "GET /?cmd=listkeys HTTP/1.1" 200 - x-hgarg-1:namespace=phases
> "GET /?cmd=capabilities HTTP/1.1" 200 -
> "GET /?cmd=lookup HTTP/1.1" 200 - x-hgarg-1:key=tip
> "GET /?cmd=listkeys HTTP/1.1" 401 - x-hgarg-1:namespace=namespaces
> "GET /?cmd=capabilities HTTP/1.1" 200 -
> diff --git a/tests/test-ssh-bundle1.t b/tests/test-ssh-bundle1.t
> --- a/tests/test-ssh-bundle1.t
> +++ b/tests/test-ssh-bundle1.t
> @@ -458,12 +458,12 @@ debug output
> $ hg pull --debug ssh://user@dummy/remote
> pulling from ssh://user@dummy/remote
> running dummyssh user at dummy ('|")hg -R remote serve --stdio('|") (re)
> sending hello command
> sending between command
> - remote: 335
> - remote: capabilities: lookup changegroupsubset branchmap pushkey known getbundle unbundlehash batch stream bundle2=HG20%0Achangegroup%3D01%2C02%0Adigests%3Dmd5%2Csha1%2Csha512%0Aerror%3Dabort%2Cunsupportedcontent%2Cpushraced%0Ahgtagsfnodes%0Alistkeys%0Apushkey%0Aremote-changegroup%3Dhttp%2Chttps unbundle=HG10GZ,HG10BZ,HG10UN httpheader=1024
> + remote: 345
> + remote: capabilities: lookup changegroupsubset branchmap pushkey known getbundle unbundlehash batch stream bundle2=HG20%0Achangegroup%3D01%2C02%0Adigests%3Dmd5%2Csha1%2Csha512%0Aerror%3Dabort%2Cunsupportedcontent%2Cpushraced%2Cpushkey%0Ahgtagsfnodes%0Alistkeys%0Apushkey%0Aremote-changegroup%3Dhttp%2Chttps unbundle=HG10GZ,HG10BZ,HG10UN httpheader=1024
> remote: 1
> preparing listkeys for "bookmarks"
> sending listkeys command
> received listkey for "bookmarks": 45 bytes
> query 1; heads
> diff --git a/tests/test-ssh.t b/tests/test-ssh.t
> --- a/tests/test-ssh.t
> +++ b/tests/test-ssh.t
> @@ -446,12 +446,12 @@ debug output
> $ hg pull --debug ssh://user@dummy/remote
> pulling from ssh://user@dummy/remote
> running dummyssh user at dummy ('|")hg -R remote serve --stdio('|") (re)
> sending hello command
> sending between command
> - remote: 335
> - remote: capabilities: lookup changegroupsubset branchmap pushkey known getbundle unbundlehash batch stream bundle2=HG20%0Achangegroup%3D01%2C02%0Adigests%3Dmd5%2Csha1%2Csha512%0Aerror%3Dabort%2Cunsupportedcontent%2Cpushraced%0Ahgtagsfnodes%0Alistkeys%0Apushkey%0Aremote-changegroup%3Dhttp%2Chttps unbundle=HG10GZ,HG10BZ,HG10UN httpheader=1024
> + remote: 345
> + remote: capabilities: lookup changegroupsubset branchmap pushkey known getbundle unbundlehash batch stream bundle2=HG20%0Achangegroup%3D01%2C02%0Adigests%3Dmd5%2Csha1%2Csha512%0Aerror%3Dabort%2Cunsupportedcontent%2Cpushraced%2Cpushkey%0Ahgtagsfnodes%0Alistkeys%0Apushkey%0Aremote-changegroup%3Dhttp%2Chttps unbundle=HG10GZ,HG10BZ,HG10UN httpheader=1024
> remote: 1
> query 1; heads
> sending batch command
> searching for changes
> all remote heads known locally
>
> _______________________________________________
> Mercurial-devel mailing list
> Mercurial-devel at selenic.com
> https://selenic.com/mailman/listinfo/mercurial-devel
More information about the Mercurial-devel
mailing list