comparison mercurial/context.py @ 42102:976f069e0ad6

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
author Martin von Zweigbergk <martinvonz@google.com>
date Wed, 10 Apr 2019 17:36:37 -0700
parents f4b1f5537d4c
children 5382d8f8530b
comparison
equal deleted inserted replaced
42101:f4b1f5537d4c 42102:976f069e0ad6
1952 if component in self: 1952 if component in self:
1953 fail(path, component) 1953 fail(path, component)
1954 1954
1955 # Test the other direction -- that this path from p2 isn't a directory 1955 # Test the other direction -- that this path from p2 isn't a directory
1956 # in p1 (test that p1 doesn't have any paths matching `path/*`). 1956 # in p1 (test that p1 doesn't have any paths matching `path/*`).
1957 match = self.match([path + '/'], default=b'path') 1957 match = self.match([path], default=b'path')
1958 matches = self.p1().manifest().matches(match) 1958 matches = self.p1().manifest().matches(match)
1959 mfiles = matches.keys() 1959 mfiles = matches.keys()
1960 if len(mfiles) > 0: 1960 if len(mfiles) > 0:
1961 if len(mfiles) == 1 and mfiles[0] == path: 1961 if len(mfiles) == 1 and mfiles[0] == path:
1962 return 1962 return