overlayworkingctx: remove misleading trailing slash from directory pattern
authorMartin von Zweigbergk <martinvonz@google.com>
Wed, 10 Apr 2019 17:36:37 -0700
changeset 42102 976f069e0ad6
parent 42101 f4b1f5537d4c
child 42103 362726923ba3
overlayworkingctx: remove misleading trailing slash from directory pattern The paths passed into the matcher are normalized (this applies to include patterns and regular patterns, and to both glob kind and path kind), so the regex for input "foo/" ended up being "foo(?:/|$)". Once we have a (recursive) pattern kind only for directories, we could switch to that here and remove the "mfiles[0] == path" check. Until then, let's at least make it not misleading. Differential Revision: https://phab.mercurial-scm.org/D6224
mercurial/context.py
--- a/mercurial/context.py	Wed Apr 10 17:31:32 2019 -0700
+++ b/mercurial/context.py	Wed Apr 10 17:36:37 2019 -0700
@@ -1954,7 +1954,7 @@
 
         # Test the other direction -- that this path from p2 isn't a directory
         # in p1 (test that p1 doesn't have any paths matching `path/*`).
-        match = self.match([path + '/'], default=b'path')
+        match = self.match([path], default=b'path')
         matches = self.p1().manifest().matches(match)
         mfiles = matches.keys()
         if len(mfiles) > 0: