diff options
-rw-r--r-- | builtin-tag.c | 11 | ||||
-rwxr-xr-x | t/t7004-tag.sh | 20 |
2 files changed, 11 insertions, 20 deletions
diff --git a/builtin-tag.c b/builtin-tag.c index d6d38ad123..348919cff8 100644 --- a/builtin-tag.c +++ b/builtin-tag.c @@ -123,22 +123,15 @@ static int show_reference(const char *refname, const unsigned char *sha1, static int list_tags(const char *pattern, int lines) { struct tag_filter filter; - char *newpattern; if (pattern == NULL) - pattern = ""; + pattern = "*"; - /* prepend/append * to the shell pattern: */ - newpattern = xmalloc(strlen(pattern) + 3); - sprintf(newpattern, "*%s*", pattern); - - filter.pattern = newpattern; + filter.pattern = pattern; filter.lines = lines; for_each_tag_ref(show_reference, (void *) &filter); - free(newpattern); - return 0; } diff --git a/t/t7004-tag.sh b/t/t7004-tag.sh index c4fa4461f7..606d4f2a2c 100755 --- a/t/t7004-tag.sh +++ b/t/t7004-tag.sh @@ -185,18 +185,17 @@ cba EOF test_expect_success \ 'listing tags with substring as pattern must print those matching' ' - git-tag -l a > actual && + git-tag -l "*a*" > actual && git diff expect actual ' cat >expect <<EOF v0.2.1 v1.0.1 -v1.1.3 EOF test_expect_success \ - 'listing tags with substring as pattern must print those matching' ' - git-tag -l .1 > actual && + 'listing tags with a suffix as pattern must print those matching' ' + git-tag -l "*.1" > actual && git diff expect actual ' @@ -205,37 +204,36 @@ t210 t211 EOF test_expect_success \ - 'listing tags with substring as pattern must print those matching' ' - git-tag -l t21 > actual && + 'listing tags with a prefix as pattern must print those matching' ' + git-tag -l "t21*" > actual && git diff expect actual ' cat >expect <<EOF a1 -aa1 EOF test_expect_success \ - 'listing tags using a name as pattern must print those matching' ' + 'listing tags using a name as pattern must print that one matching' ' git-tag -l a1 > actual && git diff expect actual ' cat >expect <<EOF v1.0 -v1.0.1 EOF test_expect_success \ - 'listing tags using a name as pattern must print those matching' ' + 'listing tags using a name as pattern must print that one matching' ' git-tag -l v1.0 > actual && git diff expect actual ' cat >expect <<EOF +v1.0.1 v1.1.3 EOF test_expect_success \ 'listing tags with ? in the pattern should print those matching' ' - git-tag -l "1.1?" > actual && + git-tag -l "v1.?.?" > actual && git diff expect actual ' |