[PATCH 2 of 2 stable] match: if the repo root is a root, that is the only root we need

Mads Kiilerich mads at kiilerich.com
Mon Apr 29 18:12:47 CDT 2013


# HG changeset patch
# User Mads Kiilerich <madski at unity3d.com>
# Date 1367276676 -7200
#      Tue Apr 30 01:04:36 2013 +0200
# Branch stable
# Node ID 37cd2c0256a819b0dd2a9ed6629ccfba9cacbdb3
# Parent  1a03a17839751dbc4eb4f6fccbdd0c8f1e5c7379
match: if the repo root is a root, that is the only root we need

This seems more correct and efficient than the old behavior - but is not
necessarily a bugfix and a bit risky.

It will change what ends up in .files() and what is .exact().

diff --git a/mercurial/match.py b/mercurial/match.py
--- a/mercurial/match.py
+++ b/mercurial/match.py
@@ -341,11 +341,15 @@
                 if '[' in p or '{' in p or '*' in p or '?' in p:
                     break
                 root.append(p)
-            r.append('/'.join(root) or '.')
+            if not root:
+                return ['.']
+            r.append('/'.join(root))
         elif kind in ('relpath', 'path'):
-            r.append(name or '.')
+            if not name:
+                return ['.']
+            r.append(name)
         else: # relglob, re, relre
-            r.append('.')
+            return ['.']
     return r
 
 def _anypats(patterns):
diff --git a/tests/test-walk.t b/tests/test-walk.t
--- a/tests/test-walk.t
+++ b/tests/test-walk.t
@@ -259,7 +259,7 @@
   f  mammals/Procyonidae/coatimundi  mammals/Procyonidae/coatimundi
   f  mammals/Procyonidae/raccoon     mammals/Procyonidae/raccoon
   $ hg debugwalk 'relglob:Procyonidae/**' fennel
-  f  fennel                          fennel                          exact
+  f  fennel                          fennel
   f  mammals/Procyonidae/cacomistle  mammals/Procyonidae/cacomistle
   f  mammals/Procyonidae/coatimundi  mammals/Procyonidae/coatimundi
   f  mammals/Procyonidae/raccoon     mammals/Procyonidae/raccoon
@@ -276,7 +276,7 @@
   f  mammals/Procyonidae/raccoon     mammals/Procyonidae/raccoon
   f  mammals/skunk                   mammals/skunk
   $ hg debugwalk 'glob:mamm**' fennel
-  f  fennel                          fennel                          exact
+  f  fennel                          fennel
   f  mammals/Procyonidae/cacomistle  mammals/Procyonidae/cacomistle
   f  mammals/Procyonidae/coatimundi  mammals/Procyonidae/coatimundi
   f  mammals/Procyonidae/raccoon     mammals/Procyonidae/raccoon


More information about the Mercurial-devel mailing list