# HG changeset patch # User Raphaël Gomès # Date 1617892451 -7200 # Node ID 08e26ef4ad356ba74fc1c6c8cdbe781d14e343b3 # Parent 5554aacd783fe35c1aa732707653a4faab6c52ce changegroup: don't limit cgv4 to revlogv2 repos To help the transition from revlogv1 to revlogv2, we need to be able to enable cgv4 for revlogv1 repos, so that revlogv2 clients can handle adding/removing sidedata over the wire. Differential Revision: https://phab.mercurial-scm.org/D10342 diff -r 5554aacd783f -r 08e26ef4ad35 mercurial/changegroup.py --- a/mercurial/changegroup.py Thu Apr 08 16:39:39 2021 +0200 +++ b/mercurial/changegroup.py Thu Apr 08 16:34:11 2021 +0200 @@ -1689,11 +1689,14 @@ # # (or even to push subset of history) needv03 = True - has_revlogv2 = requirements.REVLOGV2_REQUIREMENT in repo.requirements - if not has_revlogv2: - versions.discard(b'04') if not needv03: versions.discard(b'03') + want_v4 = ( + repo.ui.configbool(b'experimental', b'changegroup4') + or requirements.REVLOGV2_REQUIREMENT in repo.requirements + ) + if not want_v4: + versions.discard(b'04') return versions diff -r 5554aacd783f -r 08e26ef4ad35 mercurial/configitems.py --- a/mercurial/configitems.py Thu Apr 08 16:39:39 2021 +0200 +++ b/mercurial/configitems.py Thu Apr 08 16:34:11 2021 +0200 @@ -904,6 +904,11 @@ ) coreconfigitem( b'experimental', + b'changegroup4', + default=False, +) +coreconfigitem( + b'experimental', b'cleanup-as-archived', default=False, )