path: root/builtin/ls-tree.c
diff options
authorNguyễn Thái Ngọc Duy <>2013-07-14 08:36:08 (GMT)
committerJunio C Hamano <>2013-07-15 17:56:10 (GMT)
commitbd30c2e48432c692f9e77d3529c9cf25117066bb (patch)
tree9b5601d17196c49356adc686ce3c5ae7e62d94cf /builtin/ls-tree.c
parenta16bf9dd745a9e43e46d745d850db49358430e46 (diff)
pathspec: support :(glob) syntax
:(glob)path differs from plain pathspec that it uses wildmatch with WM_PATHNAME while the other uses fnmatch without FNM_PATHNAME. The difference lies in how '*' (and '**') is processed. With the introduction of :(glob) and :(literal) and their global options --[no]glob-pathspecs, the user can: - make everything literal by default via --noglob-pathspecs --literal-pathspecs cannot be used for this purpose as it disables _all_ pathspec magic. - individually turn on globbing with :(glob) - make everything globbing by default via --glob-pathspecs - individually turn off globbing with :(literal) The implication behind this is, there is no way to gain the default matching behavior (i.e. fnmatch without FNM_PATHNAME). You either get new globbing or literal. The old fnmatch behavior is considered deprecated and discouraged to use. Signed-off-by: Nguyễn Thái Ngọc Duy <> Signed-off-by: Junio C Hamano <>
Diffstat (limited to 'builtin/ls-tree.c')
1 files changed, 1 insertions, 1 deletions
diff --git a/builtin/ls-tree.c b/builtin/ls-tree.c
index 1c4f48e..7882352 100644
--- a/builtin/ls-tree.c
+++ b/builtin/ls-tree.c
@@ -173,7 +173,7 @@ int cmd_ls_tree(int argc, const char **argv, const char *prefix)
* cannot be lifted until it is converted to use
* match_pathspec_depth() or tree_entry_interesting()
- parse_pathspec(&pathspec, 0,
+ parse_pathspec(&pathspec, PATHSPEC_GLOB,
prefix, argv + 1);
for (i = 0; i <; i++)