#require no-windows Explore the semi-mysterious matchmod.match API $ newrepo $ mkdir 'a*1' 'a*2' $ touch 'a*1/a' 'a*2/b' $ hg ci -m 1 -A 'a*1/a' 'a*2/b' -q 2>&1 | sort warning: filename contains '*', which is reserved on Windows: 'a*1/a' warning: filename contains '*', which is reserved on Windows: 'a*2/b' "patterns=" $ hg dbsh -c 'print(list(repo["."].walk(m.match.match(repo.root, "", patterns=["a*"]))))' [] $ hg dbsh -c 'print(list(repo["."].walk(m.match.match(repo.root, "", patterns=["a*1"]))))' [] $ hg dbsh -c 'print(list(repo["."].walk(m.match.match(repo.root, "", patterns=["a*/*"]))))' ['a*1/a', 'a*2/b'] "include=" $ hg dbsh -c 'print(list(repo["."].walk(m.match.match(repo.root, "", include=["a*"]))))' ['a*1/a', 'a*2/b'] $ hg dbsh -c 'print(list(repo["."].walk(m.match.match(repo.root, "", include=["a*1"]))))' ['a*1/a'] $ hg dbsh -c 'print(list(repo["."].walk(m.match.match(repo.root, "", include=["a*/*"]))))' ['a*1/a', 'a*2/b'] "patterns=" with "default='path'" $ hg dbsh -c 'print(list(repo["."].walk(m.match.match(repo.root, "", patterns=["a*"], default="path"))))' [] $ hg dbsh -c 'print(list(repo["."].walk(m.match.match(repo.root, "", patterns=["a*1"], default="path"))))' ['a*1/a'] $ hg dbsh -c 'print(list(repo["."].walk(m.match.match(repo.root, "", patterns=["a*/*"], default="path"))))' [] "include=" with "default='path'" (ex. "default=" has no effect on "include=") $ hg dbsh -c 'print(list(repo["."].walk(m.match.match(repo.root, "", include=["a*"], default="path"))))' ['a*1/a', 'a*2/b'] $ hg dbsh -c 'print(list(repo["."].walk(m.match.match(repo.root, "", include=["a*1"], default="path"))))' ['a*1/a'] $ hg dbsh -c 'print(list(repo["."].walk(m.match.match(repo.root, "", include=["a*/*"], default="path"))))' ['a*1/a', 'a*2/b']