From: Junio C Hamano Date: Wed, 20 Sep 2017 04:30:01 +0000 (+0900) Subject: Merge branch 'jk/describe-omit-some-refs' into mk/describe-match-with-all X-Git-Tag: v2.15.0-rc0~33^2~1 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/3445c3dd723b222d5ceda07b13d092d73428012e?hp=9ddaf86b06a8078420f59aec8cab6daa93cf1a91 Merge branch 'jk/describe-omit-some-refs' into mk/describe-match-with-all * jk/describe-omit-some-refs: describe: fix matching to actually match all patterns --- diff --git a/builtin/describe.c b/builtin/describe.c index e77163e909..3dc1836480 100644 --- a/builtin/describe.c +++ b/builtin/describe.c @@ -158,18 +158,21 @@ static int get_name(const char *path, const struct object_id *oid, int flag, voi * pattern. */ if (patterns.nr) { + int found = 0; struct string_list_item *item; if (!is_tag) return 0; for_each_string_list_item(item, &patterns) { - if (!wildmatch(item->string, path + 10, 0)) + if (!wildmatch(item->string, path + 10, 0)) { + found = 1; break; + } + } - /* If we get here, no pattern matched. */ + if (!found) return 0; - } } /* Is it annotated? */ diff --git a/t/t6120-describe.sh b/t/t6120-describe.sh index aa74eb8f0d..25110ea55d 100755 --- a/t/t6120-describe.sh +++ b/t/t6120-describe.sh @@ -182,10 +182,14 @@ check_describe "test2-lightweight-*" --tags --match="test2-*" check_describe "test2-lightweight-*" --long --tags --match="test2-*" HEAD^ -check_describe "test1-lightweight-*" --long --tags --match="test1-*" --match="test2-*" HEAD^ +check_describe "test2-lightweight-*" --long --tags --match="test1-*" --match="test2-*" HEAD^ check_describe "test2-lightweight-*" --long --tags --match="test1-*" --no-match --match="test2-*" HEAD^ +check_describe "test1-lightweight-*" --long --tags --match="test1-*" --match="test3-*" HEAD + +check_describe "test1-lightweight-*" --long --tags --match="test3-*" --match="test1-*" HEAD + test_expect_success 'name-rev with exact tags' ' echo A >expect && tag_object=$(git rev-parse refs/tags/A) &&