tag: generate useful reflog message
commitdf8512ede80888505b15ab92efc70f2f20f3cba8
authorCornelius Weig <cornelius.weig@tngtech.com>
Wed, 8 Feb 2017 22:41:18 +0000 (8 23:41 +0100)
committerJunio C Hamano <gitster@pobox.com>
Wed, 8 Feb 2017 23:43:27 +0000 (8 15:43 -0800)
tree36ccea112c2532d7a1e4a27713507119cf6f57f3
parent3b9e3c2cede15057af3ff8076c45ad5f33829436
tag: generate useful reflog message

When tags are created with `--create-reflog` or with the option
`core.logAllRefUpdates` set to 'always', a reflog is created for them.
So far, the description of reflog entries for tags was empty, making the
reflog hard to understand. For example:
6e3a7b3 refs/tags/test@{0}:

Now, a reflog message is generated when creating a tag, following the
pattern "tag: tagging <short-sha1> (<description>)". If
GIT_REFLOG_ACTION is set, the message becomes "$GIT_REFLOG_ACTION
(<description>)" instead. If the tag references a commit object, the
description is set to the subject line of the commit, followed by its
commit date. For example:
6e3a7b3 refs/tags/test@{0}: tag: tagging 6e3a7b3398 (Git 2.12-rc0, 2017-02-03)

If the tag points to a tree/blob/tag objects, the following static
strings are taken as description:

 - "tree object"
 - "blob object"
 - "other tag object"

Signed-off-by: Cornelius Weig <cornelius.weig@tngtech.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/tag.c
t/t7004-tag.sh