# HG changeset patch # User Martin von Zweigbergk # Date 1537546782 25200 # Node ID efd0f79246e3e6633dfd06226464a48584f69b19 # Parent 475921a3028c419ab50e17f2b8855e01cb1fa35e narrow: extract helper for parsing narrowspec file This will be used for parsing a file that's stored in a different location. Differential Revision: https://phab.mercurial-scm.org/D5277 diff -r 475921a3028c -r efd0f79246e3 mercurial/narrowspec.py --- a/mercurial/narrowspec.py Thu Nov 22 22:40:22 2018 +0900 +++ b/mercurial/narrowspec.py Fri Sep 21 09:19:42 2018 -0700 @@ -127,6 +127,18 @@ return matchmod.match(root, '', [], include=include or [], exclude=exclude or []) +def parseconfig(ui, spec): + # maybe we should care about the profiles returned too + includepats, excludepats, profiles = sparse.parseconfig(ui, spec, 'narrow') + if profiles: + raise error.Abort(_("including other spec files using '%include' is not" + " supported in narrowspec")) + + validatepatterns(includepats) + validatepatterns(excludepats) + + return includepats, excludepats + def load(repo): try: spec = repo.svfs.read(FILENAME) @@ -136,17 +148,8 @@ if e.errno == errno.ENOENT: return set(), set() raise - # maybe we should care about the profiles returned too - includepats, excludepats, profiles = sparse.parseconfig(repo.ui, spec, - 'narrow') - if profiles: - raise error.Abort(_("including other spec files using '%include' is not" - " supported in narrowspec")) - validatepatterns(includepats) - validatepatterns(excludepats) - - return includepats, excludepats + return parseconfig(repo.ui, spec) def save(repo, includepats, excludepats): validatepatterns(includepats)