git-tag: Fix -l option to use better shell style globs.
authorCarlos Rica <jasampler@gmail.com>
Sat, 1 Sep 2007 05:10:09 +0000 (07:10 +0200)
committerJunio C Hamano <gitster@pobox.com>
Sat, 1 Sep 2007 06:24:16 +0000 (23:24 -0700)
commit18e32b5b7af4175f852469159d004a2a8de64658
treef437a90154bbd8948d80a0012dcb356b51571394
parent751eb39590a1325e761a84bedd5ca2660d2d3497
git-tag: Fix -l option to use better shell style globs.

This patch removes certain behaviour of "git tag -l foo", currently
listing every tag name having "foo" as a substring.  The same
thing now could be achieved doing "git tag -l '*foo*'".

This feature was added recently when git-tag.sh got the -n option
for showing tag annotations, because that commit also replaced the
old "grep pattern" behaviour with a more preferable "shell pattern"
behaviour (although slightly modified as you can see).
Thus, the following builtin-tag.c implemented it in order to
ensure that tests were passing unchanged with both programs.

Since common "shell patterns" match names with a given substring
_only_ when * is inserted before and after (as in "*substring*"), and
the "plain" behaviour cannot be achieved easily with the current
implementation, this is mostly the right thing to do, in order to
make it more flexible and consistent.

Tests for "git tag" were also changed to reflect this.

Signed-off-by: Carlos Rica <jasampler@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin-tag.c
t/t7004-tag.sh