Mercurial > hg
changeset 38839:f64ebe7d2259
narrowspec: use sparse.parseconfig() to parse narrowspec file (BC)
This also make narrow files use 'include' and 'exclude' instead of plural forms
which are 'includes' and 'excludes'.
This is BC because existing narrowspecs have to replace excludes, includes words
with exclude and include i.e. their singular versions.
Differential Revision: https://phab.mercurial-scm.org/D4057
author | Pulkit Goyal <pulkit@yandex-team.ru> |
---|---|
date | Fri, 03 Aug 2018 22:29:04 +0530 |
parents | 8fe62ad9f4ff |
children | 794afa91f0a5 |
files | mercurial/narrowspec.py tests/test-narrow-debugcommands.t |
diffstat | 2 files changed, 12 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/narrowspec.py Fri Aug 03 22:24:58 2018 +0530 +++ b/mercurial/narrowspec.py Fri Aug 03 22:29:04 2018 +0530 @@ -13,6 +13,7 @@ from . import ( error, match as matchmod, + sparse, util, ) @@ -107,10 +108,10 @@ return set(normalizepattern(p) for p in pats) def format(includes, excludes): - output = '[includes]\n' + output = '[include]\n' for i in sorted(includes - excludes): output += i + '\n' - output += '[excludes]\n' + output += '[exclude]\n' for e in sorted(excludes): output += e + '\n' return output @@ -139,7 +140,13 @@ repo.invalidate(clearfilecache=True) return set(), set() raise - return _parsestoredpatterns(spec) + # 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" + " suported in narrowspec")) + return includepats, excludepats def save(repo, includepats, excludepats): spec = format(includepats, excludepats)
--- a/tests/test-narrow-debugcommands.t Fri Aug 03 22:24:58 2018 +0530 +++ b/tests/test-narrow-debugcommands.t Fri Aug 03 22:29:04 2018 +0530 @@ -2,9 +2,9 @@ $ hg init repo $ cd repo $ cat << EOF > .hg/narrowspec - > [includes] + > [include] > path:foo - > [excludes] + > [exclude] > EOF $ echo treemanifest >> .hg/requires $ echo narrowhg-experimental >> .hg/requires