diff --git a/mercurial/bundlecaches.py b/mercurial/bundlecaches.py index 46603c00a9f28cc6d5583bf63d676ddf576561e7_bWVyY3VyaWFsL2J1bmRsZWNhY2hlcy5weQ==..cdd7bf612c7be0b545843b092b49625f62158b3a_bWVyY3VyaWFsL2J1bmRsZWNhY2hlcy5weQ== 100644 --- a/mercurial/bundlecaches.py +++ b/mercurial/bundlecaches.py @@ -102,8 +102,12 @@ def as_spec(self): parts = [b"%s-%s" % (self.compression, self.version)] - for param in sorted(self._explicit_params.items()): - parts.append(b'%s=%s' % param) + for param, raw_value in sorted(self._explicit_params.items()): + if isinstance(raw_value, bool): + value = b"yes" if raw_value else b"no" + else: + value = raw_value + parts.append(b'%s=%s' % (param, value)) return b';'.join(parts) diff --git a/tests/test-clonebundles-autogen.t b/tests/test-clonebundles-autogen.t index 46603c00a9f28cc6d5583bf63d676ddf576561e7_dGVzdHMvdGVzdC1jbG9uZWJ1bmRsZXMtYXV0b2dlbi50..cdd7bf612c7be0b545843b092b49625f62158b3a_dGVzdHMvdGVzdC1jbG9uZWJ1bmRsZXMtYXV0b2dlbi50 100644 --- a/tests/test-clonebundles-autogen.t +++ b/tests/test-clonebundles-autogen.t @@ -575,6 +575,7 @@ full-bzip2-v2-13_revs-8a81f9be54ea_tip-*_acbr.hg (glob) full-bzip2-v2-15_revs-17615b3984c2_tip-*_acbr.hg (glob) $ ls -1 ../final-upload + $ cd .. Check the url is correct ------------------------ @@ -589,3 +590,44 @@ searching for changes no changes found 15 local changesets published + +Test spec with boolean component (issue6960) +============================================ + + $ cat >> ./server/.hg/hgrc << EOF + > [clone-bundles] + > auto-generate.formats = gzip-v2;obsolescence=yes,gzip-v3;obsolescence=no,gzip-v3;obsolescence=yes;obsolescence-mandatory=no + > EOF + + $ rm ./server/.hg/clonebundles.manifest + $ hg -R ./server/ admin::clone-bundles-refresh + clone-bundles: deleting inline bundle full-bzip2-v1-13_revs-8a81f9be54ea_tip-*_acbr.hg (glob) + clone-bundles: deleting inline bundle full-bzip2-v2-13_revs-8a81f9be54ea_tip-*_acbr.hg (glob) + clone-bundles: starting bundle generation: gzip-v2;obsolescence=yes + 15 changesets found + clone-bundles: starting bundle generation: gzip-v3;obsolescence=no + 15 changesets found + clone-bundles: starting bundle generation: gzip-v3;obsolescence=yes;obsolescence-mandatory=no + 15 changesets found + $ cat ./server/.hg/clonebundles.manifest + peer-bundle-cache://full-bzip2-v1-15_revs-17615b3984c2_tip-*_acbr.hg BUNDLESPEC=bzip2-v1 (glob) + peer-bundle-cache://full-bzip2-v2-15_revs-17615b3984c2_tip-*_acbr.hg BUNDLESPEC=bzip2-v2 (glob) + peer-bundle-cache://full-gzip-v2;obsolescence=yes-15_revs-17615b3984c2_tip-*_acbr.hg BUNDLESPEC=gzip-v2;obsolescence=yes (glob) + peer-bundle-cache://full-gzip-v3;obsolescence=no-15_revs-17615b3984c2_tip-*_acbr.hg BUNDLESPEC=gzip-v3;obsolescence=no (glob) + peer-bundle-cache://full-gzip-v3;obsolescence=yes;obsolescence-mandatory=no-15_revs-17615b3984c2_tip-*_acbr.hg BUNDLESPEC=gzip-v3;obsolescence=yes;obsolescence-mandatory=no (glob) + + +Check the manifest is correct +----------------------------- + + $ hg clone -U ssh://user@dummy/server ssh-inline-more-param-clone + applying clone bundle from peer-bundle-cache://full-bzip2-v1-15_revs-17615b3984c2_tip-*_acbr.hg (glob) + adding changesets + adding manifests + adding file changes + added 15 changesets with 15 changes to 15 files + finished applying clone bundle + searching for changes + no changes found + 15 local changesets published +