diff options
author | Johannes Gilger <heipei@hackvalue.de> | 2010-04-13 22:31:12 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2010-04-13 18:15:08 -0700 |
commit | 5b16360330822527eac1fa84131d185ff784c9fb (patch) | |
tree | 5683f8b5eafe8f0d1e4968a2659a5ecb61032b08 /builtin | |
parent | Git 1.7.1-rc1 (diff) | |
download | tgif-5b16360330822527eac1fa84131d185ff784c9fb.tar.xz |
pretty: Initialize notes if %N is used
When using git log --pretty='%N' without an explicit --show-notes, git
would segfault. This patches fixes this behaviour by loading the needed
notes datastructures if --pretty is used and the format contains %N.
When --pretty='%N' is used together with --no-notes, %N won't be
expanded.
This is an extension to a proposed patch by Jeff King.
Signed-off-by: Johannes Gilger <heipei@hackvalue.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin')
-rw-r--r-- | builtin/log.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/builtin/log.c b/builtin/log.c index b706a5ff88..6208703c06 100644 --- a/builtin/log.c +++ b/builtin/log.c @@ -36,6 +36,7 @@ static void cmd_log_init(int argc, const char **argv, const char *prefix, { int i; int decoration_style = 0; + struct userformat_want w; rev->abbrev = DEFAULT_ABBREV; rev->commit_format = CMIT_FMT_DEFAULT; @@ -58,7 +59,10 @@ static void cmd_log_init(int argc, const char **argv, const char *prefix, usage(builtin_log_usage); argc = setup_revisions(argc, argv, rev, opt); - if (!rev->show_notes_given && !rev->pretty_given) + memset(&w, 0, sizeof(w)); + userformat_find_requirements(NULL, &w); + + if (!rev->show_notes_given && (!rev->pretty_given || w.notes)) rev->show_notes = 1; if (rev->show_notes) init_display_notes(&rev->notes_opt); |