Patchwork D2488: narrow: move changegroup.supportedoutgoingversions() override to core

login
register
mail settings
Submitter phabricator
Date Feb. 28, 2018, 8:56 p.m.
Message ID <differential-rev-PHID-DREV-m34njfiuspzhubugmhue-req@phab.mercurial-scm.org>
Download mbox | patch
Permalink /patch/28486/
State Superseded
Headers show

Comments

phabricator - Feb. 28, 2018, 8:56 p.m.
martinvonz created this revision.
Herald added a reviewer: durin42.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.

REVISION SUMMARY
  Also document why we need cg3 or higher.

REPOSITORY
  rHG Mercurial

REVISION DETAIL
  https://phab.mercurial-scm.org/D2488

AFFECTED FILES
  hgext/narrow/narrowchangegroup.py
  mercurial/changegroup.py

CHANGE DETAILS




To: martinvonz, durin42, #hg-reviewers
Cc: mercurial-devel

Patch

diff --git a/mercurial/changegroup.py b/mercurial/changegroup.py
--- a/mercurial/changegroup.py
+++ b/mercurial/changegroup.py
@@ -898,6 +898,11 @@ 
         # support versions 01 and 02.
         versions.discard('01')
         versions.discard('02')
+    if NARROW_REQUIREMENT in repo.requirements:
+        # Versions 01 and 02 don't support revlog flags, and we need to
+        # support that for stripping and unbundling to work.
+        versions.discard('01')
+        versions.discard('02')
     return versions
 
 def localversion(repo):
diff --git a/hgext/narrow/narrowchangegroup.py b/hgext/narrow/narrowchangegroup.py
--- a/hgext/narrow/narrowchangegroup.py
+++ b/hgext/narrow/narrowchangegroup.py
@@ -21,16 +21,6 @@ 
 
 def setup():
 
-    def supportedoutgoingversions(orig, repo):
-        versions = orig(repo)
-        if changegroup.NARROW_REQUIREMENT in repo.requirements:
-            versions.discard('01')
-            versions.discard('02')
-        return versions
-
-    extensions.wrapfunction(changegroup, 'supportedoutgoingversions',
-                            supportedoutgoingversions)
-
     def prune(orig, self, revlog, missing, commonrevs):
         if isinstance(revlog, manifest.manifestrevlog):
             matcher = getattr(self._repo, 'narrowmatch',