summaryrefslogtreecommitdiff
path: root/builtin
diff options
context:
space:
mode:
authorLibravatar Johannes Gilger <heipei@hackvalue.de>2010-04-13 22:31:12 +0200
committerLibravatar Junio C Hamano <gitster@pobox.com>2010-04-13 18:15:08 -0700
commit5b16360330822527eac1fa84131d185ff784c9fb (patch)
tree5683f8b5eafe8f0d1e4968a2659a5ecb61032b08 /builtin
parentGit 1.7.1-rc1 (diff)
downloadtgif-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.c6
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);