log: use an exact matcher for --patch --follow
The arguments to log --patch --follow are expected to be exact paths.
This will be used to make manifest filtering for these cases more efficient in
upcoming patches.
--- a/mercurial/cmdutil.py Wed Jul 16 17:35:04 2014 -0500
+++ b/mercurial/cmdutil.py Sat Jul 12 18:31:18 2014 -0700
@@ -1499,7 +1499,6 @@
fcache = {}
fcacheready = [False]
pctx = repo['.']
- wctx = repo[None]
def populate():
for fn in files:
@@ -1512,7 +1511,7 @@
# Lazy initialization
fcacheready[0] = True
populate()
- return scmutil.match(wctx, fcache.get(rev, []), default='path')
+ return scmutil.matchfiles(repo, fcache.get(rev, []))
return filematcher