Change the --points-at option to default to HEAD for consistency with
its siblings --contains, --merged etc. which default to
HEAD. Previously we'd get:
$ git tag --points-at 2>&1 | head -n 1
error: option `points-at' requires a value
This changes behavior added in commit ae7706b9ac (tag: add --points-at
list option, 2012-02-08).
Signed-off-by: Ævar Arnfjörð Bjarmason <[email protected]>
---
Documentation/git-tag.txt | 3 ++-
builtin/tag.c | 3 ++-
t/t7004-tag.sh | 9 ++++++++-
3 files changed, 12 insertions(+), 3 deletions(-)
diff --git a/Documentation/git-tag.txt b/Documentation/git-tag.txt
index b9dffc4128..baf96944ae 100644
--- a/Documentation/git-tag.txt
+++ b/Documentation/git-tag.txt
@@ -139,7 +139,8 @@ This option is only applicable when listing tags without
annotation lines.
commit (`HEAD` if not specified), incompatible with `--merged`.
--points-at <object>::
- Only list tags of the given object. Implies `--list`.
+ Only list tags of the given object (HEAD if not
+ specified). Implies `--list`.
-m <msg>::
--message=<msg>::
diff --git a/builtin/tag.c b/builtin/tag.c
index ec987ae3c7..dde05beb31 100644
--- a/builtin/tag.c
+++ b/builtin/tag.c
@@ -431,7 +431,8 @@ int cmd_tag(int argc, const char **argv, const char *prefix)
N_("field name to sort on"),
&parse_opt_ref_sorting),
{
OPTION_CALLBACK, 0, "points-at", &filter.points_at,
N_("object"),
- N_("print only tags of the object"), 0,
parse_opt_object_name
+ N_("print only tags of the object"),
PARSE_OPT_LASTARG_DEFAULT,
+ parse_opt_object_name, (intptr_t) "HEAD"
},
OPT_STRING( 0 , "format", &format, N_("format"), N_("format to
use for the output")),
OPT_BOOL('i', "ignore-case", &icase, N_("sorting and filtering
are case insensitive")),
diff --git a/t/t7004-tag.sh b/t/t7004-tag.sh
index dd793e43aa..b45ea8f5ac 100755
--- a/t/t7004-tag.sh
+++ b/t/t7004-tag.sh
@@ -1513,7 +1513,8 @@ do
"
test_expect_success "Doing 'git tag --list-like $option <commit>
<pattern> is permitted" "
git tag -n $option HEAD HEAD &&
- git tag $option HEAD HEAD
+ git tag $option HEAD HEAD &&
+ git tag $option
"
done
@@ -1525,6 +1526,12 @@ test_expect_success '--points-at can be used in non-list
mode' '
test_cmp expect actual
'
+test_expect_success '--points-at is a synonym for --points-at HEAD' '
+ echo v4.0 >expect &&
+ git tag --points-at >actual &&
+ test_cmp expect actual
+'
+
test_expect_success '--points-at finds lightweight tags' '
echo v4.0 >expect &&
git tag --points-at v4.0 >actual &&
--
2.11.0