path: root/builtin/for-each-ref.c
diff options
authorKarthik Nayak <>2015-09-10 15:48:26 (GMT)
committerJunio C Hamano <>2015-09-17 17:02:49 (GMT)
commitbef0e12becd72b94d6bb9e48859742f55a4afb53 (patch)
tree1bc0ddf13958d68103b21aca5b4f968bea558756 /builtin/for-each-ref.c
parent90c004085cfe65e1b290e5b5fc05817ec2c596a6 (diff)
ref-filter: add option to match literal pattern
Since 'ref-filter' only has an option to match path names add an option for plain fnmatch pattern-matching. This is to support the pattern matching options which are used in `git tag -l` and `git branch -l` where we can match patterns like `git tag -l foo*` which would match all tags which has a "foo*" pattern. Mentored-by: Christian Couder <> Mentored-by: Matthieu Moy <> Signed-off-by: Karthik Nayak <> Signed-off-by: Junio C Hamano <>
Diffstat (limited to 'builtin/for-each-ref.c')
1 files changed, 1 insertions, 0 deletions
diff --git a/builtin/for-each-ref.c b/builtin/for-each-ref.c
index 40f343b..4e9f6c2 100644
--- a/builtin/for-each-ref.c
+++ b/builtin/for-each-ref.c
@@ -68,6 +68,7 @@ int cmd_for_each_ref(int argc, const char **argv, const char *prefix)
git_config(git_default_config, NULL);
filter.name_patterns = argv;
+ filter.match_as_path = 1;
filter_refs(&array, &filter, FILTER_REFS_ALL | FILTER_REFS_INCLUDE_BROKEN);
ref_array_sort(sorting, &array);