summaryrefslogtreecommitdiff
path: root/log-tree.c
diff options
context:
space:
mode:
authorLibravatar Junio C Hamano <gitster@pobox.com>2010-03-24 16:25:39 -0700
committerLibravatar Junio C Hamano <gitster@pobox.com>2010-03-24 16:25:39 -0700
commit797d44343c831680aeae3392259fcadeb178bf61 (patch)
tree6639bf5dfb12eea0a67bd3b3323e3cabd79bc58e /log-tree.c
parentMerge branch 'jc/maint-refs-dangling' (diff)
parentshow --first-parent/-m: do not default to --cc (diff)
downloadtgif-797d44343c831680aeae3392259fcadeb178bf61.tar.xz
Merge branch 'pb/log-first-parent-p-m'
* pb/log-first-parent-p-m: show --first-parent/-m: do not default to --cc show -c: show patch text revision: introduce setup_revision_opt t4013: add tests for log -p -m --first-parent git log -p -m: document -m and honor --first-parent
Diffstat (limited to 'log-tree.c')
-rw-r--r--log-tree.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/log-tree.c b/log-tree.c
index 27afcf6972..d3ae969f60 100644
--- a/log-tree.c
+++ b/log-tree.c
@@ -514,6 +514,16 @@ static int log_tree_diff(struct rev_info *opt, struct commit *commit, struct log
return 0;
else if (opt->combine_merges)
return do_diff_combined(opt, commit);
+ else if (opt->first_parent_only) {
+ /*
+ * Generate merge log entry only for the first
+ * parent, showing summary diff of the others
+ * we merged _in_.
+ */
+ diff_tree_sha1(parents->item->object.sha1, sha1, "", &opt->diffopt);
+ log_tree_diff_flush(opt);
+ return !opt->loginfo;
+ }
/* If we show individual diffs, show the parent info */
log->parent = parents->item;