D4526: narrow: validate spec files are well-formed during clone (BC)

indygreg (Gregory Szorc) phabricator at mercurial-scm.org
Tue Sep 11 18:29:12 EDT 2018


indygreg updated this revision to Diff 10898.

REPOSITORY
  rHG Mercurial

CHANGES SINCE LAST UPDATE
  https://phab.mercurial-scm.org/D4526?vs=10889&id=10898

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

AFFECTED FILES
  hgext/narrow/narrowcommands.py
  tests/test-narrow-clone-no-ellipsis.t
  tests/test-narrow-clone.t

CHANGE DETAILS

diff --git a/tests/test-narrow-clone.t b/tests/test-narrow-clone.t
--- a/tests/test-narrow-clone.t
+++ b/tests/test-narrow-clone.t
@@ -239,7 +239,7 @@
   > %include foo
   > [include]
   > path:dir/tests/
-  > dir/src/f12
+  > path:file:dir/src/f12
   > EOF
 
   $ hg clone ssh://user@dummy/master specfile --narrowspec narrowspecs
@@ -250,7 +250,7 @@
   $ cat > narrowspecs <<EOF
   > [include]
   > path:dir/tests/
-  > file:dir/src/f12
+  > path:file:dir/src/f12
   > EOF
 
   $ hg clone ssh://user@dummy/master specfile --narrowspec narrowspecs
@@ -278,7 +278,6 @@
 
   $ hg clone ssh://user@dummy/master badspecfile --narrowspec narrowspecs
   reading narrowspec from '$TESTTMP/narrowspecs'
-  requesting all changes
   abort: invalid prefix on narrow pattern: glob:**
   (narrow patterns must begin with one of the following: path:, rootfilesin:)
   [255]
diff --git a/tests/test-narrow-clone-no-ellipsis.t b/tests/test-narrow-clone-no-ellipsis.t
--- a/tests/test-narrow-clone-no-ellipsis.t
+++ b/tests/test-narrow-clone-no-ellipsis.t
@@ -130,7 +130,7 @@
   > %include foo
   > [include]
   > path:dir/tests/
-  > file:dir/src/f12
+  > path:file:dir/src/f12
   > EOF
 
   $ hg clone ssh://user@dummy/master specfile --narrowspec narrowspecs
@@ -141,7 +141,7 @@
   $ cat > narrowspecs <<EOF
   > [include]
   > path:dir/tests/
-  > file:dir/src/f12
+  > path:file:dir/src/f12
   > EOF
 
   $ hg clone ssh://user@dummy/master specfile --narrowspec narrowspecs
diff --git a/hgext/narrow/narrowcommands.py b/hgext/narrow/narrowcommands.py
--- a/hgext/narrow/narrowcommands.py
+++ b/hgext/narrow/narrowcommands.py
@@ -102,6 +102,9 @@
             raise error.Abort(_("cannot specify other files using '%include' in"
                                 " narrowspec"))
 
+        narrowspec.validatepatterns(includes)
+        narrowspec.validatepatterns(excludes)
+
         # narrowspec is passed so we should assume that user wants narrow clone
         opts_narrow = True
         opts['include'].extend(includes)



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


More information about the Mercurial-devel mailing list