Mercurial > hg-stable
changeset 34821:aa5e7b4a3a01
phase: generate a push-race detection part on push
We are about to switch phase pushing from using pushkey to using a the new
dedicated binary part. We introduce the push race detection on its own to help
detect potential impact.
author | Boris Feld <boris.feld@octobus.net> |
---|---|
date | Wed, 11 Oct 2017 07:40:00 +0200 |
parents | a95067b1dca6 |
children | c1e7ce11db9b |
files | mercurial/exchange.py tests/test-acl.t |
diffstat | 2 files changed, 160 insertions(+), 54 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/exchange.py Wed Oct 11 07:13:02 2017 +0200 +++ b/mercurial/exchange.py Wed Oct 11 07:40:00 2017 +0200 @@ -735,6 +735,31 @@ data = iter(sorted(affected)) bundler.newpart('check:updated-heads', data=data) +def _pushing(pushop): + """return True if we are pushing anything""" + return bool(pushop.outgoing.missing + or pushop.outdatedphases + or pushop.outobsmarkers + or pushop.outbookmarks) + +@b2partsgenerator('check-phases') +def _pushb2checkphases(pushop, bundler): + """insert phase move checking""" + if not _pushing(pushop) or pushop.force: + return + b2caps = bundle2.bundle2caps(pushop.remote) + hasphaseheads = 'heads' in b2caps.get('phases', ()) + if pushop.remotephases is not None and hasphaseheads: + # check that the remote phase has not changed + checks = [[] for p in phases.allphases] + checks[phases.public].extend(pushop.remotephases.publicheads) + checks[phases.draft].extend(pushop.remotephases.draftroots) + if any(checks): + for nodes in checks: + nodes.sort() + checkdata = phases.binaryencode(checks) + bundler.newpart('check:phases', data=checkdata) + @b2partsgenerator('changeset') def _pushb2ctx(pushop, bundler): """handle changegroup push through bundle2
--- a/tests/test-acl.t Wed Oct 11 07:13:02 2017 +0200 +++ b/tests/test-acl.t Wed Oct 11 07:40:00 2017 +0200 @@ -92,14 +92,17 @@ ef1ea85a6374b77d6da9dcda9541f498f2d17df7 f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd 911600dab2ae7a9baff75958b84fe606851ce955 - bundle2-output-bundle: "HG20", 4 parts total + bundle2-output-bundle: "HG20", 5 parts total bundle2-output-part: "replycaps" 168 bytes payload + bundle2-output-part: "check:phases" 24 bytes payload bundle2-output-part: "check:heads" streamed payload bundle2-output-part: "changegroup" (params: 1 mandatory) streamed payload bundle2-output-part: "pushkey" (params: 4 mandatory) empty payload bundle2-input-bundle: with-transaction bundle2-input-part: "replycaps" supported bundle2-input-part: total payload size 168 + bundle2-input-part: "check:phases" supported + bundle2-input-part: total payload size 24 bundle2-input-part: "check:heads" supported bundle2-input-part: total payload size 20 bundle2-input-part: "changegroup" (params: 1 mandatory) supported @@ -116,7 +119,7 @@ bundle2-input-part: total payload size 1553 bundle2-input-part: "pushkey" (params: 4 mandatory) supported pushing key for "phases:911600dab2ae7a9baff75958b84fe606851ce955" - bundle2-input-bundle: 3 parts total + bundle2-input-bundle: 4 parts total updating the branch cache bundle2-output-bundle: "HG20", 2 parts total bundle2-output-part: "reply:changegroup" (advisory) (params: 0 advisory) empty payload @@ -154,14 +157,17 @@ ef1ea85a6374b77d6da9dcda9541f498f2d17df7 f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd 911600dab2ae7a9baff75958b84fe606851ce955 - bundle2-output-bundle: "HG20", 4 parts total + bundle2-output-bundle: "HG20", 5 parts total bundle2-output-part: "replycaps" 168 bytes payload + bundle2-output-part: "check:phases" 24 bytes payload bundle2-output-part: "check:heads" streamed payload bundle2-output-part: "changegroup" (params: 1 mandatory) streamed payload bundle2-output-part: "pushkey" (params: 4 mandatory) empty payload bundle2-input-bundle: with-transaction bundle2-input-part: "replycaps" supported bundle2-input-part: total payload size 168 + bundle2-input-part: "check:phases" supported + bundle2-input-part: total payload size 24 bundle2-input-part: "check:heads" supported bundle2-input-part: total payload size 20 bundle2-input-part: "changegroup" (params: 1 mandatory) supported @@ -180,7 +186,7 @@ bundle2-input-part: total payload size 1553 bundle2-input-part: "pushkey" (params: 4 mandatory) supported pushing key for "phases:911600dab2ae7a9baff75958b84fe606851ce955" - bundle2-input-bundle: 3 parts total + bundle2-input-bundle: 4 parts total updating the branch cache bundle2-output-bundle: "HG20", 2 parts total bundle2-output-part: "reply:changegroup" (advisory) (params: 0 advisory) empty payload @@ -219,14 +225,17 @@ ef1ea85a6374b77d6da9dcda9541f498f2d17df7 f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd 911600dab2ae7a9baff75958b84fe606851ce955 - bundle2-output-bundle: "HG20", 4 parts total + bundle2-output-bundle: "HG20", 5 parts total bundle2-output-part: "replycaps" 168 bytes payload + bundle2-output-part: "check:phases" 24 bytes payload bundle2-output-part: "check:heads" streamed payload bundle2-output-part: "changegroup" (params: 1 mandatory) streamed payload bundle2-output-part: "pushkey" (params: 4 mandatory) empty payload bundle2-input-bundle: with-transaction bundle2-input-part: "replycaps" supported bundle2-input-part: total payload size 168 + bundle2-input-part: "check:phases" supported + bundle2-input-part: total payload size 24 bundle2-input-part: "check:heads" supported bundle2-input-part: total payload size 20 bundle2-input-part: "changegroup" (params: 1 mandatory) supported @@ -255,7 +264,7 @@ bundle2-input-part: total payload size 1553 bundle2-input-part: "pushkey" (params: 4 mandatory) supported pushing key for "phases:911600dab2ae7a9baff75958b84fe606851ce955" - bundle2-input-bundle: 3 parts total + bundle2-input-bundle: 4 parts total updating the branch cache bundle2-output-bundle: "HG20", 2 parts total bundle2-output-part: "reply:changegroup" (advisory) (params: 0 advisory) empty payload @@ -294,14 +303,17 @@ ef1ea85a6374b77d6da9dcda9541f498f2d17df7 f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd 911600dab2ae7a9baff75958b84fe606851ce955 - bundle2-output-bundle: "HG20", 4 parts total + bundle2-output-bundle: "HG20", 5 parts total bundle2-output-part: "replycaps" 168 bytes payload + bundle2-output-part: "check:phases" 24 bytes payload bundle2-output-part: "check:heads" streamed payload bundle2-output-part: "changegroup" (params: 1 mandatory) streamed payload bundle2-output-part: "pushkey" (params: 4 mandatory) empty payload bundle2-input-bundle: with-transaction bundle2-input-part: "replycaps" supported bundle2-input-part: total payload size 168 + bundle2-input-part: "check:phases" supported + bundle2-input-part: total payload size 24 bundle2-input-part: "check:heads" supported bundle2-input-part: total payload size 20 bundle2-input-part: "changegroup" (params: 1 mandatory) supported @@ -324,7 +336,7 @@ acl: branch access granted: "ef1ea85a6374" on branch "default" error: pretxnchangegroup.acl hook failed: acl: user "fred" not allowed on "foo/file.txt" (changeset "ef1ea85a6374") bundle2-input-part: total payload size 1553 - bundle2-input-bundle: 3 parts total + bundle2-input-bundle: 4 parts total transaction abort! rollback completed abort: acl: user "fred" not allowed on "foo/file.txt" (changeset "ef1ea85a6374") @@ -358,14 +370,17 @@ ef1ea85a6374b77d6da9dcda9541f498f2d17df7 f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd 911600dab2ae7a9baff75958b84fe606851ce955 - bundle2-output-bundle: "HG20", 4 parts total + bundle2-output-bundle: "HG20", 5 parts total bundle2-output-part: "replycaps" 168 bytes payload + bundle2-output-part: "check:phases" 24 bytes payload bundle2-output-part: "check:heads" streamed payload bundle2-output-part: "changegroup" (params: 1 mandatory) streamed payload bundle2-output-part: "pushkey" (params: 4 mandatory) empty payload bundle2-input-bundle: with-transaction bundle2-input-part: "replycaps" supported bundle2-input-part: total payload size 168 + bundle2-input-part: "check:phases" supported + bundle2-input-part: total payload size 24 bundle2-input-part: "check:heads" supported bundle2-input-part: total payload size 20 bundle2-input-part: "changegroup" (params: 1 mandatory) supported @@ -392,7 +407,7 @@ acl: branch access granted: "911600dab2ae" on branch "default" error: pretxnchangegroup.acl hook failed: acl: user "fred" not allowed on "quux/file.py" (changeset "911600dab2ae") bundle2-input-part: total payload size 1553 - bundle2-input-bundle: 3 parts total + bundle2-input-bundle: 4 parts total transaction abort! rollback completed abort: acl: user "fred" not allowed on "quux/file.py" (changeset "911600dab2ae") @@ -427,14 +442,17 @@ ef1ea85a6374b77d6da9dcda9541f498f2d17df7 f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd 911600dab2ae7a9baff75958b84fe606851ce955 - bundle2-output-bundle: "HG20", 4 parts total + bundle2-output-bundle: "HG20", 5 parts total bundle2-output-part: "replycaps" 168 bytes payload + bundle2-output-part: "check:phases" 24 bytes payload bundle2-output-part: "check:heads" streamed payload bundle2-output-part: "changegroup" (params: 1 mandatory) streamed payload bundle2-output-part: "pushkey" (params: 4 mandatory) empty payload bundle2-input-bundle: with-transaction bundle2-input-part: "replycaps" supported bundle2-input-part: total payload size 168 + bundle2-input-part: "check:phases" supported + bundle2-input-part: total payload size 24 bundle2-input-part: "check:heads" supported bundle2-input-part: total payload size 20 bundle2-input-part: "changegroup" (params: 1 mandatory) supported @@ -457,7 +475,7 @@ acl: branch access granted: "ef1ea85a6374" on branch "default" error: pretxnchangegroup.acl hook failed: acl: user "barney" not allowed on "foo/file.txt" (changeset "ef1ea85a6374") bundle2-input-part: total payload size 1553 - bundle2-input-bundle: 3 parts total + bundle2-input-bundle: 4 parts total transaction abort! rollback completed abort: acl: user "barney" not allowed on "foo/file.txt" (changeset "ef1ea85a6374") @@ -493,14 +511,17 @@ ef1ea85a6374b77d6da9dcda9541f498f2d17df7 f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd 911600dab2ae7a9baff75958b84fe606851ce955 - bundle2-output-bundle: "HG20", 4 parts total + bundle2-output-bundle: "HG20", 5 parts total bundle2-output-part: "replycaps" 168 bytes payload + bundle2-output-part: "check:phases" 24 bytes payload bundle2-output-part: "check:heads" streamed payload bundle2-output-part: "changegroup" (params: 1 mandatory) streamed payload bundle2-output-part: "pushkey" (params: 4 mandatory) empty payload bundle2-input-bundle: with-transaction bundle2-input-part: "replycaps" supported bundle2-input-part: total payload size 168 + bundle2-input-part: "check:phases" supported + bundle2-input-part: total payload size 24 bundle2-input-part: "check:heads" supported bundle2-input-part: total payload size 20 bundle2-input-part: "changegroup" (params: 1 mandatory) supported @@ -527,7 +548,7 @@ acl: branch access granted: "911600dab2ae" on branch "default" error: pretxnchangegroup.acl hook failed: acl: user "fred" not allowed on "quux/file.py" (changeset "911600dab2ae") bundle2-input-part: total payload size 1553 - bundle2-input-bundle: 3 parts total + bundle2-input-bundle: 4 parts total transaction abort! rollback completed abort: acl: user "fred" not allowed on "quux/file.py" (changeset "911600dab2ae") @@ -564,14 +585,17 @@ ef1ea85a6374b77d6da9dcda9541f498f2d17df7 f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd 911600dab2ae7a9baff75958b84fe606851ce955 - bundle2-output-bundle: "HG20", 4 parts total + bundle2-output-bundle: "HG20", 5 parts total bundle2-output-part: "replycaps" 168 bytes payload + bundle2-output-part: "check:phases" 24 bytes payload bundle2-output-part: "check:heads" streamed payload bundle2-output-part: "changegroup" (params: 1 mandatory) streamed payload bundle2-output-part: "pushkey" (params: 4 mandatory) empty payload bundle2-input-bundle: with-transaction bundle2-input-part: "replycaps" supported bundle2-input-part: total payload size 168 + bundle2-input-part: "check:phases" supported + bundle2-input-part: total payload size 24 bundle2-input-part: "check:heads" supported bundle2-input-part: total payload size 20 bundle2-input-part: "changegroup" (params: 1 mandatory) supported @@ -596,7 +620,7 @@ acl: branch access granted: "f9cafe1212c8" on branch "default" error: pretxnchangegroup.acl hook failed: acl: user "fred" denied on "foo/Bar/file.txt" (changeset "f9cafe1212c8") bundle2-input-part: total payload size 1553 - bundle2-input-bundle: 3 parts total + bundle2-input-bundle: 4 parts total transaction abort! rollback completed abort: acl: user "fred" denied on "foo/Bar/file.txt" (changeset "f9cafe1212c8") @@ -632,14 +656,17 @@ ef1ea85a6374b77d6da9dcda9541f498f2d17df7 f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd 911600dab2ae7a9baff75958b84fe606851ce955 - bundle2-output-bundle: "HG20", 4 parts total + bundle2-output-bundle: "HG20", 5 parts total bundle2-output-part: "replycaps" 168 bytes payload + bundle2-output-part: "check:phases" 24 bytes payload bundle2-output-part: "check:heads" streamed payload bundle2-output-part: "changegroup" (params: 1 mandatory) streamed payload bundle2-output-part: "pushkey" (params: 4 mandatory) empty payload bundle2-input-bundle: with-transaction bundle2-input-part: "replycaps" supported bundle2-input-part: total payload size 168 + bundle2-input-part: "check:phases" supported + bundle2-input-part: total payload size 24 bundle2-input-part: "check:heads" supported bundle2-input-part: total payload size 20 bundle2-input-part: "changegroup" (params: 1 mandatory) supported @@ -662,7 +689,7 @@ acl: branch access granted: "ef1ea85a6374" on branch "default" error: pretxnchangegroup.acl hook failed: acl: user "barney" not allowed on "foo/file.txt" (changeset "ef1ea85a6374") bundle2-input-part: total payload size 1553 - bundle2-input-bundle: 3 parts total + bundle2-input-bundle: 4 parts total transaction abort! rollback completed abort: acl: user "barney" not allowed on "foo/file.txt" (changeset "ef1ea85a6374") @@ -702,14 +729,17 @@ ef1ea85a6374b77d6da9dcda9541f498f2d17df7 f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd 911600dab2ae7a9baff75958b84fe606851ce955 - bundle2-output-bundle: "HG20", 4 parts total + bundle2-output-bundle: "HG20", 5 parts total bundle2-output-part: "replycaps" 168 bytes payload + bundle2-output-part: "check:phases" 24 bytes payload bundle2-output-part: "check:heads" streamed payload bundle2-output-part: "changegroup" (params: 1 mandatory) streamed payload bundle2-output-part: "pushkey" (params: 4 mandatory) empty payload bundle2-input-bundle: with-transaction bundle2-input-part: "replycaps" supported bundle2-input-part: total payload size 168 + bundle2-input-part: "check:phases" supported + bundle2-input-part: total payload size 24 bundle2-input-part: "check:heads" supported bundle2-input-part: total payload size 20 bundle2-input-part: "changegroup" (params: 1 mandatory) supported @@ -738,7 +768,7 @@ bundle2-input-part: total payload size 1553 bundle2-input-part: "pushkey" (params: 4 mandatory) supported pushing key for "phases:911600dab2ae7a9baff75958b84fe606851ce955" - bundle2-input-bundle: 3 parts total + bundle2-input-bundle: 4 parts total updating the branch cache bundle2-output-bundle: "HG20", 2 parts total bundle2-output-part: "reply:changegroup" (advisory) (params: 0 advisory) empty payload @@ -784,14 +814,17 @@ ef1ea85a6374b77d6da9dcda9541f498f2d17df7 f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd 911600dab2ae7a9baff75958b84fe606851ce955 - bundle2-output-bundle: "HG20", 4 parts total + bundle2-output-bundle: "HG20", 5 parts total bundle2-output-part: "replycaps" 168 bytes payload + bundle2-output-part: "check:phases" 24 bytes payload bundle2-output-part: "check:heads" streamed payload bundle2-output-part: "changegroup" (params: 1 mandatory) streamed payload bundle2-output-part: "pushkey" (params: 4 mandatory) empty payload bundle2-input-bundle: with-transaction bundle2-input-part: "replycaps" supported bundle2-input-part: total payload size 168 + bundle2-input-part: "check:phases" supported + bundle2-input-part: total payload size 24 bundle2-input-part: "check:heads" supported bundle2-input-part: total payload size 20 bundle2-input-part: "changegroup" (params: 1 mandatory) supported @@ -818,7 +851,7 @@ acl: branch access granted: "911600dab2ae" on branch "default" error: pretxnchangegroup.acl hook failed: acl: user "wilma" not allowed on "quux/file.py" (changeset "911600dab2ae") bundle2-input-part: total payload size 1553 - bundle2-input-bundle: 3 parts total + bundle2-input-bundle: 4 parts total transaction abort! rollback completed abort: acl: user "wilma" not allowed on "quux/file.py" (changeset "911600dab2ae") @@ -861,14 +894,17 @@ ef1ea85a6374b77d6da9dcda9541f498f2d17df7 f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd 911600dab2ae7a9baff75958b84fe606851ce955 - bundle2-output-bundle: "HG20", 4 parts total + bundle2-output-bundle: "HG20", 5 parts total bundle2-output-part: "replycaps" 168 bytes payload + bundle2-output-part: "check:phases" 24 bytes payload bundle2-output-part: "check:heads" streamed payload bundle2-output-part: "changegroup" (params: 1 mandatory) streamed payload bundle2-output-part: "pushkey" (params: 4 mandatory) empty payload bundle2-input-bundle: with-transaction bundle2-input-part: "replycaps" supported bundle2-input-part: total payload size 168 + bundle2-input-part: "check:phases" supported + bundle2-input-part: total payload size 24 bundle2-input-part: "check:heads" supported bundle2-input-part: total payload size 20 bundle2-input-part: "changegroup" (params: 1 mandatory) supported @@ -886,7 +922,7 @@ acl: checking access for user "barney" error: pretxnchangegroup.acl hook raised an exception: [Errno *] * (glob) bundle2-input-part: total payload size 1553 - bundle2-input-bundle: 3 parts total + bundle2-input-bundle: 4 parts total transaction abort! rollback completed abort: No such file or directory: ../acl.config @@ -933,14 +969,17 @@ ef1ea85a6374b77d6da9dcda9541f498f2d17df7 f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd 911600dab2ae7a9baff75958b84fe606851ce955 - bundle2-output-bundle: "HG20", 4 parts total + bundle2-output-bundle: "HG20", 5 parts total bundle2-output-part: "replycaps" 168 bytes payload + bundle2-output-part: "check:phases" 24 bytes payload bundle2-output-part: "check:heads" streamed payload bundle2-output-part: "changegroup" (params: 1 mandatory) streamed payload bundle2-output-part: "pushkey" (params: 4 mandatory) empty payload bundle2-input-bundle: with-transaction bundle2-input-part: "replycaps" supported bundle2-input-part: total payload size 168 + bundle2-input-part: "check:phases" supported + bundle2-input-part: total payload size 24 bundle2-input-part: "check:heads" supported bundle2-input-part: total payload size 20 bundle2-input-part: "changegroup" (params: 1 mandatory) supported @@ -967,7 +1006,7 @@ acl: branch access granted: "911600dab2ae" on branch "default" error: pretxnchangegroup.acl hook failed: acl: user "betty" not allowed on "quux/file.py" (changeset "911600dab2ae") bundle2-input-part: total payload size 1553 - bundle2-input-bundle: 3 parts total + bundle2-input-bundle: 4 parts total transaction abort! rollback completed abort: acl: user "betty" not allowed on "quux/file.py" (changeset "911600dab2ae") @@ -1016,14 +1055,17 @@ ef1ea85a6374b77d6da9dcda9541f498f2d17df7 f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd 911600dab2ae7a9baff75958b84fe606851ce955 - bundle2-output-bundle: "HG20", 4 parts total + bundle2-output-bundle: "HG20", 5 parts total bundle2-output-part: "replycaps" 168 bytes payload + bundle2-output-part: "check:phases" 24 bytes payload bundle2-output-part: "check:heads" streamed payload bundle2-output-part: "changegroup" (params: 1 mandatory) streamed payload bundle2-output-part: "pushkey" (params: 4 mandatory) empty payload bundle2-input-bundle: with-transaction bundle2-input-part: "replycaps" supported bundle2-input-part: total payload size 168 + bundle2-input-part: "check:phases" supported + bundle2-input-part: total payload size 24 bundle2-input-part: "check:heads" supported bundle2-input-part: total payload size 20 bundle2-input-part: "changegroup" (params: 1 mandatory) supported @@ -1052,7 +1094,7 @@ bundle2-input-part: total payload size 1553 bundle2-input-part: "pushkey" (params: 4 mandatory) supported pushing key for "phases:911600dab2ae7a9baff75958b84fe606851ce955" - bundle2-input-bundle: 3 parts total + bundle2-input-bundle: 4 parts total updating the branch cache bundle2-output-bundle: "HG20", 2 parts total bundle2-output-part: "reply:changegroup" (advisory) (params: 0 advisory) empty payload @@ -1101,14 +1143,17 @@ ef1ea85a6374b77d6da9dcda9541f498f2d17df7 f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd 911600dab2ae7a9baff75958b84fe606851ce955 - bundle2-output-bundle: "HG20", 4 parts total + bundle2-output-bundle: "HG20", 5 parts total bundle2-output-part: "replycaps" 168 bytes payload + bundle2-output-part: "check:phases" 24 bytes payload bundle2-output-part: "check:heads" streamed payload bundle2-output-part: "changegroup" (params: 1 mandatory) streamed payload bundle2-output-part: "pushkey" (params: 4 mandatory) empty payload bundle2-input-bundle: with-transaction bundle2-input-part: "replycaps" supported bundle2-input-part: total payload size 168 + bundle2-input-part: "check:phases" supported + bundle2-input-part: total payload size 24 bundle2-input-part: "check:heads" supported bundle2-input-part: total payload size 20 bundle2-input-part: "changegroup" (params: 1 mandatory) supported @@ -1137,7 +1182,7 @@ bundle2-input-part: total payload size 1553 bundle2-input-part: "pushkey" (params: 4 mandatory) supported pushing key for "phases:911600dab2ae7a9baff75958b84fe606851ce955" - bundle2-input-bundle: 3 parts total + bundle2-input-bundle: 4 parts total updating the branch cache bundle2-output-bundle: "HG20", 2 parts total bundle2-output-part: "reply:changegroup" (advisory) (params: 0 advisory) empty payload @@ -1182,14 +1227,17 @@ ef1ea85a6374b77d6da9dcda9541f498f2d17df7 f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd 911600dab2ae7a9baff75958b84fe606851ce955 - bundle2-output-bundle: "HG20", 4 parts total + bundle2-output-bundle: "HG20", 5 parts total bundle2-output-part: "replycaps" 168 bytes payload + bundle2-output-part: "check:phases" 24 bytes payload bundle2-output-part: "check:heads" streamed payload bundle2-output-part: "changegroup" (params: 1 mandatory) streamed payload bundle2-output-part: "pushkey" (params: 4 mandatory) empty payload bundle2-input-bundle: with-transaction bundle2-input-part: "replycaps" supported bundle2-input-part: total payload size 168 + bundle2-input-part: "check:phases" supported + bundle2-input-part: total payload size 24 bundle2-input-part: "check:heads" supported bundle2-input-part: total payload size 20 bundle2-input-part: "changegroup" (params: 1 mandatory) supported @@ -1214,7 +1262,7 @@ acl: branch access granted: "f9cafe1212c8" on branch "default" error: pretxnchangegroup.acl hook failed: acl: user "fred" denied on "foo/Bar/file.txt" (changeset "f9cafe1212c8") bundle2-input-part: total payload size 1553 - bundle2-input-bundle: 3 parts total + bundle2-input-bundle: 4 parts total transaction abort! rollback completed abort: acl: user "fred" denied on "foo/Bar/file.txt" (changeset "f9cafe1212c8") @@ -1257,14 +1305,17 @@ ef1ea85a6374b77d6da9dcda9541f498f2d17df7 f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd 911600dab2ae7a9baff75958b84fe606851ce955 - bundle2-output-bundle: "HG20", 4 parts total + bundle2-output-bundle: "HG20", 5 parts total bundle2-output-part: "replycaps" 168 bytes payload + bundle2-output-part: "check:phases" 24 bytes payload bundle2-output-part: "check:heads" streamed payload bundle2-output-part: "changegroup" (params: 1 mandatory) streamed payload bundle2-output-part: "pushkey" (params: 4 mandatory) empty payload bundle2-input-bundle: with-transaction bundle2-input-part: "replycaps" supported bundle2-input-part: total payload size 168 + bundle2-input-part: "check:phases" supported + bundle2-input-part: total payload size 24 bundle2-input-part: "check:heads" supported bundle2-input-part: total payload size 20 bundle2-input-part: "changegroup" (params: 1 mandatory) supported @@ -1294,7 +1345,7 @@ bundle2-input-part: total payload size 1553 bundle2-input-part: "pushkey" (params: 4 mandatory) supported pushing key for "phases:911600dab2ae7a9baff75958b84fe606851ce955" - bundle2-input-bundle: 3 parts total + bundle2-input-bundle: 4 parts total updating the branch cache bundle2-output-bundle: "HG20", 2 parts total bundle2-output-part: "reply:changegroup" (advisory) (params: 0 advisory) empty payload @@ -1339,14 +1390,17 @@ ef1ea85a6374b77d6da9dcda9541f498f2d17df7 f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd 911600dab2ae7a9baff75958b84fe606851ce955 - bundle2-output-bundle: "HG20", 4 parts total + bundle2-output-bundle: "HG20", 5 parts total bundle2-output-part: "replycaps" 168 bytes payload + bundle2-output-part: "check:phases" 24 bytes payload bundle2-output-part: "check:heads" streamed payload bundle2-output-part: "changegroup" (params: 1 mandatory) streamed payload bundle2-output-part: "pushkey" (params: 4 mandatory) empty payload bundle2-input-bundle: with-transaction bundle2-input-part: "replycaps" supported bundle2-input-part: total payload size 168 + bundle2-input-part: "check:phases" supported + bundle2-input-part: total payload size 24 bundle2-input-part: "check:heads" supported bundle2-input-part: total payload size 20 bundle2-input-part: "changegroup" (params: 1 mandatory) supported @@ -1373,7 +1427,7 @@ acl: branch access granted: "f9cafe1212c8" on branch "default" error: pretxnchangegroup.acl hook failed: acl: user "fred" denied on "foo/Bar/file.txt" (changeset "f9cafe1212c8") bundle2-input-part: total payload size 1553 - bundle2-input-bundle: 3 parts total + bundle2-input-bundle: 4 parts total transaction abort! rollback completed abort: acl: user "fred" denied on "foo/Bar/file.txt" (changeset "f9cafe1212c8") @@ -1455,8 +1509,9 @@ f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd 911600dab2ae7a9baff75958b84fe606851ce955 e8fc755d4d8217ee5b0c2bb41558c40d43b92c01 - bundle2-output-bundle: "HG20", 5 parts total + bundle2-output-bundle: "HG20", 6 parts total bundle2-output-part: "replycaps" 168 bytes payload + bundle2-output-part: "check:phases" 48 bytes payload bundle2-output-part: "check:heads" streamed payload bundle2-output-part: "changegroup" (params: 1 mandatory) streamed payload bundle2-output-part: "pushkey" (params: 4 mandatory) empty payload @@ -1464,6 +1519,8 @@ bundle2-input-bundle: with-transaction bundle2-input-part: "replycaps" supported bundle2-input-part: total payload size 168 + bundle2-input-part: "check:phases" supported + bundle2-input-part: total payload size 48 bundle2-input-part: "check:heads" supported bundle2-input-part: total payload size 20 bundle2-input-part: "changegroup" (params: 1 mandatory) supported @@ -1498,7 +1555,7 @@ pushing key for "phases:911600dab2ae7a9baff75958b84fe606851ce955" bundle2-input-part: "pushkey" (params: 4 mandatory) supported pushing key for "phases:e8fc755d4d8217ee5b0c2bb41558c40d43b92c01" - bundle2-input-bundle: 4 parts total + bundle2-input-bundle: 5 parts total updating the branch cache bundle2-output-bundle: "HG20", 3 parts total bundle2-output-part: "reply:changegroup" (advisory) (params: 0 advisory) empty payload @@ -1543,8 +1600,9 @@ f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd 911600dab2ae7a9baff75958b84fe606851ce955 e8fc755d4d8217ee5b0c2bb41558c40d43b92c01 - bundle2-output-bundle: "HG20", 5 parts total + bundle2-output-bundle: "HG20", 6 parts total bundle2-output-part: "replycaps" 168 bytes payload + bundle2-output-part: "check:phases" 48 bytes payload bundle2-output-part: "check:heads" streamed payload bundle2-output-part: "changegroup" (params: 1 mandatory) streamed payload bundle2-output-part: "pushkey" (params: 4 mandatory) empty payload @@ -1552,6 +1610,8 @@ bundle2-input-bundle: with-transaction bundle2-input-part: "replycaps" supported bundle2-input-part: total payload size 168 + bundle2-input-part: "check:phases" supported + bundle2-input-part: total payload size 48 bundle2-input-part: "check:heads" supported bundle2-input-part: total payload size 20 bundle2-input-part: "changegroup" (params: 1 mandatory) supported @@ -1581,7 +1641,7 @@ acl: path access granted: "911600dab2ae" error: pretxnchangegroup.acl hook failed: acl: user "astro" denied on branch "foobar" (changeset "e8fc755d4d82") bundle2-input-part: total payload size 2068 - bundle2-input-bundle: 4 parts total + bundle2-input-bundle: 5 parts total transaction abort! rollback completed abort: acl: user "astro" denied on branch "foobar" (changeset "e8fc755d4d82") @@ -1617,8 +1677,9 @@ f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd 911600dab2ae7a9baff75958b84fe606851ce955 e8fc755d4d8217ee5b0c2bb41558c40d43b92c01 - bundle2-output-bundle: "HG20", 5 parts total + bundle2-output-bundle: "HG20", 6 parts total bundle2-output-part: "replycaps" 168 bytes payload + bundle2-output-part: "check:phases" 48 bytes payload bundle2-output-part: "check:heads" streamed payload bundle2-output-part: "changegroup" (params: 1 mandatory) streamed payload bundle2-output-part: "pushkey" (params: 4 mandatory) empty payload @@ -1626,6 +1687,8 @@ bundle2-input-bundle: with-transaction bundle2-input-part: "replycaps" supported bundle2-input-part: total payload size 168 + bundle2-input-part: "check:phases" supported + bundle2-input-part: total payload size 48 bundle2-input-part: "check:heads" supported bundle2-input-part: total payload size 20 bundle2-input-part: "changegroup" (params: 1 mandatory) supported @@ -1649,7 +1712,7 @@ acl: acl.deny not enabled error: pretxnchangegroup.acl hook failed: acl: user "astro" not allowed on branch "default" (changeset "ef1ea85a6374") bundle2-input-part: total payload size 2068 - bundle2-input-bundle: 4 parts total + bundle2-input-bundle: 5 parts total transaction abort! rollback completed abort: acl: user "astro" not allowed on branch "default" (changeset "ef1ea85a6374") @@ -1687,8 +1750,9 @@ f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd 911600dab2ae7a9baff75958b84fe606851ce955 e8fc755d4d8217ee5b0c2bb41558c40d43b92c01 - bundle2-output-bundle: "HG20", 5 parts total + bundle2-output-bundle: "HG20", 6 parts total bundle2-output-part: "replycaps" 168 bytes payload + bundle2-output-part: "check:phases" 48 bytes payload bundle2-output-part: "check:heads" streamed payload bundle2-output-part: "changegroup" (params: 1 mandatory) streamed payload bundle2-output-part: "pushkey" (params: 4 mandatory) empty payload @@ -1696,6 +1760,8 @@ bundle2-input-bundle: with-transaction bundle2-input-part: "replycaps" supported bundle2-input-part: total payload size 168 + bundle2-input-part: "check:phases" supported + bundle2-input-part: total payload size 48 bundle2-input-part: "check:heads" supported bundle2-input-part: total payload size 20 bundle2-input-part: "changegroup" (params: 1 mandatory) supported @@ -1719,7 +1785,7 @@ acl: acl.deny not enabled error: pretxnchangegroup.acl hook failed: acl: user "astro" not allowed on branch "default" (changeset "ef1ea85a6374") bundle2-input-part: total payload size 2068 - bundle2-input-bundle: 4 parts total + bundle2-input-bundle: 5 parts total transaction abort! rollback completed abort: acl: user "astro" not allowed on branch "default" (changeset "ef1ea85a6374") @@ -1751,8 +1817,9 @@ f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd 911600dab2ae7a9baff75958b84fe606851ce955 e8fc755d4d8217ee5b0c2bb41558c40d43b92c01 - bundle2-output-bundle: "HG20", 5 parts total + bundle2-output-bundle: "HG20", 6 parts total bundle2-output-part: "replycaps" 168 bytes payload + bundle2-output-part: "check:phases" 48 bytes payload bundle2-output-part: "check:heads" streamed payload bundle2-output-part: "changegroup" (params: 1 mandatory) streamed payload bundle2-output-part: "pushkey" (params: 4 mandatory) empty payload @@ -1760,6 +1827,8 @@ bundle2-input-bundle: with-transaction bundle2-input-part: "replycaps" supported bundle2-input-part: total payload size 168 + bundle2-input-part: "check:phases" supported + bundle2-input-part: total payload size 48 bundle2-input-part: "check:heads" supported bundle2-input-part: total payload size 20 bundle2-input-part: "changegroup" (params: 1 mandatory) supported @@ -1794,7 +1863,7 @@ pushing key for "phases:911600dab2ae7a9baff75958b84fe606851ce955" bundle2-input-part: "pushkey" (params: 4 mandatory) supported pushing key for "phases:e8fc755d4d8217ee5b0c2bb41558c40d43b92c01" - bundle2-input-bundle: 4 parts total + bundle2-input-bundle: 5 parts total updating the branch cache bundle2-output-bundle: "HG20", 3 parts total bundle2-output-part: "reply:changegroup" (advisory) (params: 0 advisory) empty payload @@ -1844,8 +1913,9 @@ f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd 911600dab2ae7a9baff75958b84fe606851ce955 e8fc755d4d8217ee5b0c2bb41558c40d43b92c01 - bundle2-output-bundle: "HG20", 5 parts total + bundle2-output-bundle: "HG20", 6 parts total bundle2-output-part: "replycaps" 168 bytes payload + bundle2-output-part: "check:phases" 48 bytes payload bundle2-output-part: "check:heads" streamed payload bundle2-output-part: "changegroup" (params: 1 mandatory) streamed payload bundle2-output-part: "pushkey" (params: 4 mandatory) empty payload @@ -1853,6 +1923,8 @@ bundle2-input-bundle: with-transaction bundle2-input-part: "replycaps" supported bundle2-input-part: total payload size 168 + bundle2-input-part: "check:phases" supported + bundle2-input-part: total payload size 48 bundle2-input-part: "check:heads" supported bundle2-input-part: total payload size 20 bundle2-input-part: "changegroup" (params: 1 mandatory) supported @@ -1887,7 +1959,7 @@ pushing key for "phases:911600dab2ae7a9baff75958b84fe606851ce955" bundle2-input-part: "pushkey" (params: 4 mandatory) supported pushing key for "phases:e8fc755d4d8217ee5b0c2bb41558c40d43b92c01" - bundle2-input-bundle: 4 parts total + bundle2-input-bundle: 5 parts total updating the branch cache bundle2-output-bundle: "HG20", 3 parts total bundle2-output-part: "reply:changegroup" (advisory) (params: 0 advisory) empty payload @@ -1936,8 +2008,9 @@ f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd 911600dab2ae7a9baff75958b84fe606851ce955 e8fc755d4d8217ee5b0c2bb41558c40d43b92c01 - bundle2-output-bundle: "HG20", 5 parts total + bundle2-output-bundle: "HG20", 6 parts total bundle2-output-part: "replycaps" 168 bytes payload + bundle2-output-part: "check:phases" 48 bytes payload bundle2-output-part: "check:heads" streamed payload bundle2-output-part: "changegroup" (params: 1 mandatory) streamed payload bundle2-output-part: "pushkey" (params: 4 mandatory) empty payload @@ -1945,6 +2018,8 @@ bundle2-input-bundle: with-transaction bundle2-input-part: "replycaps" supported bundle2-input-part: total payload size 168 + bundle2-input-part: "check:phases" supported + bundle2-input-part: total payload size 48 bundle2-input-part: "check:heads" supported bundle2-input-part: total payload size 20 bundle2-input-part: "changegroup" (params: 1 mandatory) supported @@ -1968,7 +2043,7 @@ acl: acl.deny not enabled error: pretxnchangegroup.acl hook failed: acl: user "george" denied on branch "default" (changeset "ef1ea85a6374") bundle2-input-part: total payload size 2068 - bundle2-input-bundle: 4 parts total + bundle2-input-bundle: 5 parts total transaction abort! rollback completed abort: acl: user "george" denied on branch "default" (changeset "ef1ea85a6374") @@ -2005,8 +2080,9 @@ f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd 911600dab2ae7a9baff75958b84fe606851ce955 e8fc755d4d8217ee5b0c2bb41558c40d43b92c01 - bundle2-output-bundle: "HG20", 5 parts total + bundle2-output-bundle: "HG20", 6 parts total bundle2-output-part: "replycaps" 168 bytes payload + bundle2-output-part: "check:phases" 48 bytes payload bundle2-output-part: "check:heads" streamed payload bundle2-output-part: "changegroup" (params: 1 mandatory) streamed payload bundle2-output-part: "pushkey" (params: 4 mandatory) empty payload @@ -2014,6 +2090,8 @@ bundle2-input-bundle: with-transaction bundle2-input-part: "replycaps" supported bundle2-input-part: total payload size 168 + bundle2-input-part: "check:phases" supported + bundle2-input-part: total payload size 48 bundle2-input-part: "check:heads" supported bundle2-input-part: total payload size 20 bundle2-input-part: "changegroup" (params: 1 mandatory) supported @@ -2048,7 +2126,7 @@ pushing key for "phases:911600dab2ae7a9baff75958b84fe606851ce955" bundle2-input-part: "pushkey" (params: 4 mandatory) supported pushing key for "phases:e8fc755d4d8217ee5b0c2bb41558c40d43b92c01" - bundle2-input-bundle: 4 parts total + bundle2-input-bundle: 5 parts total updating the branch cache bundle2-output-bundle: "HG20", 3 parts total bundle2-output-part: "reply:changegroup" (advisory) (params: 0 advisory) empty payload @@ -2091,8 +2169,9 @@ f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd 911600dab2ae7a9baff75958b84fe606851ce955 e8fc755d4d8217ee5b0c2bb41558c40d43b92c01 - bundle2-output-bundle: "HG20", 5 parts total + bundle2-output-bundle: "HG20", 6 parts total bundle2-output-part: "replycaps" 168 bytes payload + bundle2-output-part: "check:phases" 48 bytes payload bundle2-output-part: "check:heads" streamed payload bundle2-output-part: "changegroup" (params: 1 mandatory) streamed payload bundle2-output-part: "pushkey" (params: 4 mandatory) empty payload @@ -2100,6 +2179,8 @@ bundle2-input-bundle: with-transaction bundle2-input-part: "replycaps" supported bundle2-input-part: total payload size 168 + bundle2-input-part: "check:phases" supported + bundle2-input-part: total payload size 48 bundle2-input-part: "check:heads" supported bundle2-input-part: total payload size 20 bundle2-input-part: "changegroup" (params: 1 mandatory) supported @@ -2123,7 +2204,7 @@ acl: acl.deny not enabled error: pretxnchangegroup.acl hook failed: acl: user "george" denied on branch "default" (changeset "ef1ea85a6374") bundle2-input-part: total payload size 2068 - bundle2-input-bundle: 4 parts total + bundle2-input-bundle: 5 parts total transaction abort! rollback completed abort: acl: user "george" denied on branch "default" (changeset "ef1ea85a6374")