narrow: remove dependency from narrowspec module to hg module
Differential Revision: https://phab.mercurial-scm.org/D2493
--- a/hgext/narrow/narrowrepo.py Wed Feb 28 10:32:00 2018 -0800
+++ b/hgext/narrow/narrowrepo.py Tue Feb 27 23:05:39 2018 -0800
@@ -73,7 +73,10 @@
A tuple of (includes, excludes).
"""
- return narrowspec.load(self)
+ source = self
+ if self.shared():
+ source = hg.sharedreposource(self)
+ return narrowspec.load(source)
@localrepo.repofilecache(narrowspec.FILENAME)
def _narrowmatch(self):
@@ -87,7 +90,10 @@
return self._narrowmatch
def setnarrowpats(self, newincludes, newexcludes):
- narrowspec.save(self, newincludes, newexcludes)
+ target = self
+ if self.shared():
+ target = hg.sharedreposource(self)
+ narrowspec.save(target, newincludes, newexcludes)
self.invalidate(clearfilecache=True)
# I'm not sure this is the right place to do this filter.
--- a/mercurial/narrowspec.py Wed Feb 28 10:32:00 2018 -0800
+++ b/mercurial/narrowspec.py Tue Feb 27 23:05:39 2018 -0800
@@ -12,7 +12,6 @@
from .i18n import _
from . import (
error,
- hg,
match as matchmod,
util,
)
@@ -129,8 +128,6 @@
return [i for i in includes if i.startswith('include:')]
def load(repo):
- if repo.shared():
- repo = hg.sharedreposource(repo)
try:
spec = repo.vfs.read(FILENAME)
except IOError as e:
@@ -146,8 +143,6 @@
def save(repo, includepats, excludepats):
spec = format(includepats, excludepats)
- if repo.shared():
- repo = hg.sharedreposource(repo)
repo.vfs.write(FILENAME, spec)
def restrictpatterns(req_includes, req_excludes, repo_includes, repo_excludes):