pretty: add abbrev option to %(describe)
The %(describe) placeholder by default, like `git describe`, uses a seven-character abbreviated commit object name. This may not be sufficient to fully describe all commits in a given repository, resulting in a placeholder replacement changing its length because the repository grew in size. This could cause the output of git-archive to change. Add the --abbrev option to `git describe` to the placeholder interface in order to provide tools to the user for fine-tuning project defaults and ensure reproducible archives. One alternative would be to just always specify --abbrev=40 but this may be a bit too biased... Signed-off-by: Eli Schwartz <eschwartz@archlinux.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
1d517ceab9
commit
eccd97d0b0
@ -1010,4 +1010,12 @@ test_expect_success '%(describe:tags) vs git describe --tags' '
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
test_expect_success '%(describe:abbrev=...) vs git describe --abbrev=...' '
|
||||
test_when_finished "git tag -d tagname" &&
|
||||
git tag -a -m tagged tagname &&
|
||||
git describe --abbrev=15 >expect &&
|
||||
git log -1 --format="%(describe:abbrev=15)" >actual &&
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
test_done
|
||||
|
Reference in New Issue
Block a user