D6224: overlayworkingctx: remove misleading trailing slash from directory pattern

martinvonz (Martin von Zweigbergk) phabricator at mercurial-scm.org
Thu Apr 11 00:51:18 UTC 2019


martinvonz created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.

REVISION SUMMARY
  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.

REPOSITORY
  rHG Mercurial

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

AFFECTED FILES
  mercurial/context.py

CHANGE DETAILS

diff --git a/mercurial/context.py b/mercurial/context.py
--- a/mercurial/context.py
+++ b/mercurial/context.py
@@ -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:



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


More information about the Mercurial-devel mailing list