mirror of
https://github.com/git/git
synced 2024-08-27 19:49:21 +00:00
Merge branch 'jk/describe-omit-some-refs'
"git describe --match" learned to take multiple patterns in v2.13 series, but the feature ignored the patterns after the first one and did not work at all. This has been fixed. * jk/describe-omit-some-refs: describe: fix matching to actually match all patterns
This commit is contained in:
commit
a515136c52
|
@ -158,20 +158,23 @@ 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. */
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
if (!found)
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* Is it annotated? */
|
||||
if (!peel_ref(path, peeled.hash)) {
|
||||
is_annotated = !!oidcmp(oid, &peeled);
|
||||
|
|
|
@ -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) &&
|
||||
|
|
Loading…
Reference in a new issue