Patchwork D4057: narrowspec: use sparse.parseconfig() to parse narrowspec file (BC)

login
register
mail settings
Submitter phabricator
Date Aug. 4, 2018, 12:04 a.m.
Message ID <420cc8161e739b123ea4df6c26958423@localhost.localdomain>
Download mbox | patch
Permalink /patch/33201/
State Not Applicable
Headers show

Comments

phabricator - Aug. 4, 2018, 12:04 a.m.
This revision was automatically updated to reflect the committed changes.
Closed by commit rHGf64ebe7d2259: narrowspec: use sparse.parseconfig() to parse narrowspec file (BC) (authored by pulkit, committed by ).

CHANGED PRIOR TO COMMIT
  https://phab.mercurial-scm.org/D4057?vs=9829&id=9869#toc

REPOSITORY
  rHG Mercurial

CHANGES SINCE LAST UPDATE
  https://phab.mercurial-scm.org/D4057?vs=9829&id=9869

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

AFFECTED FILES
  mercurial/narrowspec.py
  tests/test-narrow-debugcommands.t

CHANGE DETAILS




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

Patch

diff --git a/tests/test-narrow-debugcommands.t b/tests/test-narrow-debugcommands.t
--- a/tests/test-narrow-debugcommands.t
+++ b/tests/test-narrow-debugcommands.t
@@ -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
diff --git a/mercurial/narrowspec.py b/mercurial/narrowspec.py
--- a/mercurial/narrowspec.py
+++ b/mercurial/narrowspec.py
@@ -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)