marmoute created this revision. Herald added a reviewer: hg-reviewers. Herald added a subscriber: mercurial-patches.
REVISION SUMMARY This gather code duplicated in multiple place and will make it easier to modify it safely in the future. REPOSITORY rHG Mercurial BRANCH default REVISION DETAIL https://phab.mercurial-scm.org/D12028 AFFECTED FILES mercurial/streamclone.py mercurial/wireprotov1server.py CHANGE DETAILS diff --git a/mercurial/wireprotov1server.py b/mercurial/wireprotov1server.py --- a/mercurial/wireprotov1server.py +++ b/mercurial/wireprotov1server.py @@ -300,7 +300,7 @@ if streamclone.allowservergeneration(repo): if repo.ui.configbool(b'server', b'preferuncompressed'): caps.append(b'stream-preferred') - requiredformats = repo.requirements & repo.supportedformats + requiredformats = streamclone.streamed_requirements(repo) # if our local revlogs are just revlogv1, add 'stream' cap if not requiredformats - {requirementsmod.REVLOGV1_REQUIREMENT}: caps.append(b'stream') diff --git a/mercurial/streamclone.py b/mercurial/streamclone.py --- a/mercurial/streamclone.py +++ b/mercurial/streamclone.py @@ -47,6 +47,15 @@ return requirements +def streamed_requirements(repo): + """the set of requirement the new clone will have to support + + This is used for advertising the stream options and to generate the actual + stream content.""" + requiredformats = repo.requirements & repo.supportedformats + return requiredformats + + def canperformstreamclone(pullop, bundle2=False): """Whether it is possible to perform a streaming clone as part of pull. @@ -346,7 +355,7 @@ if compression != b'UN': raise ValueError(b'we do not support the compression argument yet') - requirements = repo.requirements & repo.supportedformats + requirements = streamed_requirements(repo) requires = b','.join(sorted(requirements)) def gen(): To: marmoute, #hg-reviewers Cc: mercurial-patches, mercurial-devel _______________________________________________ Mercurial-devel mailing list Mercurial-devel@mercurial-scm.org https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel