pretty: add %(describe)

Add a format placeholder for describe output.  Implement it by actually
calling git describe, which is simple and guarantees correctness.  It's
intended to be used with $Format:...$ in files with the attribute
export-subst and git archive.  It can also be used with git log etc.,
even though that's going to be slow due to the fork for each commit.

Suggested-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: René Scharfe <l.s.r@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
René Scharfe
2021-02-14 11:04:34 +01:00
committed by Junio C Hamano
parent 328c109303
commit 15ae82d5d6
3 changed files with 29 additions and 0 deletions

View File

@ -962,4 +962,14 @@ test_expect_success 'log --pretty=reference is colored appropriately' '
test_cmp expect actual
'
test_expect_success '%(describe) vs git describe' '
git log --format="%H" | while read hash
do
echo "$hash $(git describe $hash)"
done >expect &&
git log --format="%H %(describe)" >actual 2>err &&
test_cmp expect actual &&
test_must_be_empty err
'
test_done