Mercurial > hg
changeset 25480:d410336fdb3c
push: make pushkey part advisory
The current behavior (with bundle1) is to let the rest of the push succeed if
the pushkey call (phases, bookmarks) failed (this comes from the fact that each
item is sent in its own command).
We kept this behavior with bundle2, which is highly debatable, but let us keep
thing as they are now as a start. We are about to enforce 'mandatory' pushkey
part as 'mandatory' successful, so we need to marks parts as advisory to
preserve the current (debatable) behavior.
author | Pierre-Yves David <pierre-yves.david@fb.com> |
---|---|
date | Wed, 27 May 2015 05:35:00 -0700 |
parents | f00a63a43c4b |
children | 6de96cb31176 |
files | mercurial/exchange.py tests/test-acl.t |
diffstat | 2 files changed, 53 insertions(+), 53 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/exchange.py Mon Jun 08 13:32:38 2015 -0700 +++ b/mercurial/exchange.py Wed May 27 05:35:00 2015 -0700 @@ -523,7 +523,7 @@ part2node = [] enc = pushkey.encode for newremotehead in pushop.outdatedphases: - part = bundler.newpart('pushkey') + part = bundler.newpart('pushkey', mandatory=False) part.addparam('namespace', enc('phases')) part.addparam('key', enc(newremotehead.hex())) part.addparam('old', enc(str(phases.draft))) @@ -567,7 +567,7 @@ part2book = [] enc = pushkey.encode for book, old, new in pushop.outbookmarks: - part = bundler.newpart('pushkey') + part = bundler.newpart('pushkey', mandatory=False) part.addparam('namespace', enc('bookmarks')) part.addparam('key', enc(book)) part.addparam('old', enc(old))
--- a/tests/test-acl.t Mon Jun 08 13:32:38 2015 -0700 +++ b/tests/test-acl.t Wed May 27 05:35:00 2015 -0700 @@ -102,7 +102,7 @@ bundle2-output-part: "replycaps" 106 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-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 106 @@ -120,7 +120,7 @@ adding quux/file.py revisions added 3 changesets with 3 changes to 3 files bundle2-input-part: total payload size 1606 - bundle2-input-part: "pushkey" (params: 4 mandatory) supported + bundle2-input-part: "pushkey" (advisory) (params: 4 mandatory) supported pushing key for "phases:911600dab2ae7a9baff75958b84fe606851ce955" bundle2-input-bundle: 3 parts total updating the branch cache @@ -166,7 +166,7 @@ bundle2-output-part: "replycaps" 106 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-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 106 @@ -186,7 +186,7 @@ calling hook pretxnchangegroup.acl: hgext.acl.hook acl: changes have source "push" - skipping bundle2-input-part: total payload size 1606 - bundle2-input-part: "pushkey" (params: 4 mandatory) supported + bundle2-input-part: "pushkey" (advisory) (params: 4 mandatory) supported pushing key for "phases:911600dab2ae7a9baff75958b84fe606851ce955" bundle2-input-bundle: 3 parts total updating the branch cache @@ -233,7 +233,7 @@ bundle2-output-part: "replycaps" 106 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-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 106 @@ -263,7 +263,7 @@ acl: branch access granted: "911600dab2ae" on branch "default" acl: path access granted: "911600dab2ae" bundle2-input-part: total payload size 1606 - bundle2-input-part: "pushkey" (params: 4 mandatory) supported + bundle2-input-part: "pushkey" (advisory) (params: 4 mandatory) supported pushing key for "phases:911600dab2ae7a9baff75958b84fe606851ce955" bundle2-input-bundle: 3 parts total updating the branch cache @@ -310,7 +310,7 @@ bundle2-output-part: "replycaps" 106 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-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 106 @@ -375,7 +375,7 @@ bundle2-output-part: "replycaps" 106 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-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 106 @@ -445,7 +445,7 @@ bundle2-output-part: "replycaps" 106 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-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 106 @@ -512,7 +512,7 @@ bundle2-output-part: "replycaps" 106 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-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 106 @@ -584,7 +584,7 @@ bundle2-output-part: "replycaps" 106 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-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 106 @@ -653,7 +653,7 @@ bundle2-output-part: "replycaps" 106 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-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 106 @@ -724,7 +724,7 @@ bundle2-output-part: "replycaps" 106 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-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 106 @@ -754,7 +754,7 @@ acl: branch access granted: "911600dab2ae" on branch "default" acl: path access granted: "911600dab2ae" bundle2-input-part: total payload size 1606 - bundle2-input-part: "pushkey" (params: 4 mandatory) supported + bundle2-input-part: "pushkey" (advisory) (params: 4 mandatory) supported pushing key for "phases:911600dab2ae7a9baff75958b84fe606851ce955" bundle2-input-bundle: 3 parts total updating the branch cache @@ -808,7 +808,7 @@ bundle2-output-part: "replycaps" 106 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-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 106 @@ -886,7 +886,7 @@ bundle2-output-part: "replycaps" 106 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-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 106 @@ -959,7 +959,7 @@ bundle2-output-part: "replycaps" 106 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-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 106 @@ -1043,7 +1043,7 @@ bundle2-output-part: "replycaps" 106 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-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 106 @@ -1073,7 +1073,7 @@ acl: branch access granted: "911600dab2ae" on branch "default" acl: path access granted: "911600dab2ae" bundle2-input-part: total payload size 1606 - bundle2-input-part: "pushkey" (params: 4 mandatory) supported + bundle2-input-part: "pushkey" (advisory) (params: 4 mandatory) supported pushing key for "phases:911600dab2ae7a9baff75958b84fe606851ce955" bundle2-input-bundle: 3 parts total updating the branch cache @@ -1130,7 +1130,7 @@ bundle2-output-part: "replycaps" 106 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-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 106 @@ -1160,7 +1160,7 @@ acl: branch access granted: "911600dab2ae" on branch "default" acl: path access granted: "911600dab2ae" bundle2-input-part: total payload size 1606 - bundle2-input-part: "pushkey" (params: 4 mandatory) supported + bundle2-input-part: "pushkey" (advisory) (params: 4 mandatory) supported pushing key for "phases:911600dab2ae7a9baff75958b84fe606851ce955" bundle2-input-bundle: 3 parts total updating the branch cache @@ -1213,7 +1213,7 @@ bundle2-output-part: "replycaps" 106 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-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 106 @@ -1289,7 +1289,7 @@ bundle2-output-part: "replycaps" 106 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-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 106 @@ -1320,7 +1320,7 @@ acl: branch access granted: "911600dab2ae" on branch "default" acl: path access granted: "911600dab2ae" bundle2-input-part: total payload size 1606 - bundle2-input-part: "pushkey" (params: 4 mandatory) supported + bundle2-input-part: "pushkey" (advisory) (params: 4 mandatory) supported pushing key for "phases:911600dab2ae7a9baff75958b84fe606851ce955" bundle2-input-bundle: 3 parts total updating the branch cache @@ -1373,7 +1373,7 @@ bundle2-output-part: "replycaps" 106 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-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 106 @@ -1488,8 +1488,8 @@ bundle2-output-part: "replycaps" 106 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-output-part: "pushkey" (params: 4 mandatory) empty 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 106 @@ -1523,9 +1523,9 @@ acl: branch access granted: "e8fc755d4d82" on branch "foobar" acl: path access granted: "e8fc755d4d82" bundle2-input-part: total payload size 2101 - bundle2-input-part: "pushkey" (params: 4 mandatory) supported + bundle2-input-part: "pushkey" (advisory) (params: 4 mandatory) supported pushing key for "phases:911600dab2ae7a9baff75958b84fe606851ce955" - bundle2-input-part: "pushkey" (params: 4 mandatory) supported + bundle2-input-part: "pushkey" (advisory) (params: 4 mandatory) supported pushing key for "phases:e8fc755d4d8217ee5b0c2bb41558c40d43b92c01" bundle2-input-bundle: 4 parts total updating the branch cache @@ -1577,8 +1577,8 @@ bundle2-output-part: "replycaps" 106 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-output-part: "pushkey" (params: 4 mandatory) empty 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 106 @@ -1651,8 +1651,8 @@ bundle2-output-part: "replycaps" 106 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-output-part: "pushkey" (params: 4 mandatory) empty 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 106 @@ -1721,8 +1721,8 @@ bundle2-output-part: "replycaps" 106 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-output-part: "pushkey" (params: 4 mandatory) empty 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 106 @@ -1785,8 +1785,8 @@ bundle2-output-part: "replycaps" 106 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-output-part: "pushkey" (params: 4 mandatory) empty 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 106 @@ -1820,9 +1820,9 @@ acl: branch access granted: "e8fc755d4d82" on branch "foobar" acl: path access granted: "e8fc755d4d82" bundle2-input-part: total payload size 2101 - bundle2-input-part: "pushkey" (params: 4 mandatory) supported + bundle2-input-part: "pushkey" (advisory) (params: 4 mandatory) supported pushing key for "phases:911600dab2ae7a9baff75958b84fe606851ce955" - bundle2-input-part: "pushkey" (params: 4 mandatory) supported + bundle2-input-part: "pushkey" (advisory) (params: 4 mandatory) supported pushing key for "phases:e8fc755d4d8217ee5b0c2bb41558c40d43b92c01" bundle2-input-bundle: 4 parts total updating the branch cache @@ -1879,8 +1879,8 @@ bundle2-output-part: "replycaps" 106 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-output-part: "pushkey" (params: 4 mandatory) empty 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 106 @@ -1914,9 +1914,9 @@ acl: branch access granted: "e8fc755d4d82" on branch "foobar" acl: path access granted: "e8fc755d4d82" bundle2-input-part: total payload size 2101 - bundle2-input-part: "pushkey" (params: 4 mandatory) supported + bundle2-input-part: "pushkey" (advisory) (params: 4 mandatory) supported pushing key for "phases:911600dab2ae7a9baff75958b84fe606851ce955" - bundle2-input-part: "pushkey" (params: 4 mandatory) supported + bundle2-input-part: "pushkey" (advisory) (params: 4 mandatory) supported pushing key for "phases:e8fc755d4d8217ee5b0c2bb41558c40d43b92c01" bundle2-input-bundle: 4 parts total updating the branch cache @@ -1972,8 +1972,8 @@ bundle2-output-part: "replycaps" 106 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-output-part: "pushkey" (params: 4 mandatory) empty 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 106 @@ -2041,8 +2041,8 @@ bundle2-output-part: "replycaps" 106 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-output-part: "pushkey" (params: 4 mandatory) empty 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 106 @@ -2076,9 +2076,9 @@ acl: branch access granted: "e8fc755d4d82" on branch "foobar" acl: path access granted: "e8fc755d4d82" bundle2-input-part: total payload size 2101 - bundle2-input-part: "pushkey" (params: 4 mandatory) supported + bundle2-input-part: "pushkey" (advisory) (params: 4 mandatory) supported pushing key for "phases:911600dab2ae7a9baff75958b84fe606851ce955" - bundle2-input-part: "pushkey" (params: 4 mandatory) supported + bundle2-input-part: "pushkey" (advisory) (params: 4 mandatory) supported pushing key for "phases:e8fc755d4d8217ee5b0c2bb41558c40d43b92c01" bundle2-input-bundle: 4 parts total updating the branch cache @@ -2128,8 +2128,8 @@ bundle2-output-part: "replycaps" 106 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-output-part: "pushkey" (params: 4 mandatory) empty 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 106