mirror of
https://github.com/git/git
synced 2024-08-27 11:39:22 +00:00
Fix describe --tags --long so it does not segfault
If we match a lightweight (non-annotated tag) as the name to output and --long was requested we do not have a tag, nor do we have a tagged object to display. Instead we must use the object we were passed as input for the long format display. Reported-by: Mark Burton <markb@ordern.com> Backtraced-by: Mikael Magnusson <mikachu@gmail.com> Signed-off-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
7ad0f27b92
commit
14d4642e2a
|
@ -204,7 +204,7 @@ static void describe(const char *arg, int last_one)
|
||||||
*/
|
*/
|
||||||
display_name(n);
|
display_name(n);
|
||||||
if (longformat)
|
if (longformat)
|
||||||
show_suffix(0, n->tag->tagged->sha1);
|
show_suffix(0, n->tag ? n->tag->tagged->sha1 : sha1);
|
||||||
printf("\n");
|
printf("\n");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
@ -139,4 +139,6 @@ check_describe "test1-lightweight-*" --tags --match="test1-*"
|
||||||
|
|
||||||
check_describe "test2-lightweight-*" --tags --match="test2-*"
|
check_describe "test2-lightweight-*" --tags --match="test2-*"
|
||||||
|
|
||||||
|
check_describe "test2-lightweight-*" --long --tags --match="test2-*" HEAD^
|
||||||
|
|
||||||
test_done
|
test_done
|
||||||
|
|
Loading…
Reference in a new issue