pass struct commit to diff_tree_combined_merge()

Instead of passing the hash of a commit and then searching that same commit in the single caller, simply pass the commit directly. Signed-off-by: René Scharfe <rene.scharfe@lsrfire.ath.cx> Signed-off-by: Junio C Hamano <gitster@pobox.com>

René Scharfe committed Dec 17, 2011 at 11:20 UTC 82889295e76200714d76e0f7beb07b6b9e3b5a88
3 files changed +6 -8
combine-diff.c
+3 -4
@@ -1196,10 +1196,9 @@ void diff_tree_combined(const unsigned char *sha1,
1196 }
1197 }
1198
1199 -void diff_tree_combined_merge(const unsigned char *sha1,
1200 - int dense, struct rev_info *rev)
1199 +void diff_tree_combined_merge(const struct commit *commit, int dense,
1200 + struct rev_info *rev)
1201 {
1202 - struct commit *commit = lookup_commit(sha1);
1202 struct commit_list *parent = commit->parents;
1203 struct sha1_array parents = SHA1_ARRAY_INIT;
1204
@@ -1207,6 +1206,6 @@ void diff_tree_combined_merge(const unsigned char *sha1,
1206 sha1_array_append(&parents, parent->item->object.sha1);
1207 parent = parent->next;
1208 }
1210 - diff_tree_combined(sha1, &parents, dense, rev);
1209 + diff_tree_combined(commit->object.sha1, &parents, dense, rev);
1210 sha1_array_clear(&parents);
1211 }
diff.h
+2 -1
@@ -13,6 +13,7 @@ struct strbuf;
13 struct diff_filespec;
14 struct userdiff_driver;
15 struct sha1_array;
16 +struct commit;
17
18 typedef void (*change_fn_t)(struct diff_options *options,
19 unsigned old_mode, unsigned new_mode,
@@ -198,7 +199,7 @@ extern void show_combined_diff(struct combine_diff_path *elem, int num_parent,
199
200 extern void diff_tree_combined(const unsigned char *sha1, const struct sha1_array *parents, int dense, struct rev_info *rev);
201
201 -extern void diff_tree_combined_merge(const unsigned char *sha1, int, struct rev_info *);
202 +extern void diff_tree_combined_merge(const struct commit *commit, int dense, struct rev_info *rev);
203
204 void diff_set_mnemonic_prefix(struct diff_options *options, const char *a, const char *b);
205
log-tree.c
+1 -3
@@ -599,9 +599,7 @@ int log_tree_diff_flush(struct rev_info *opt)
599
600 static int do_diff_combined(struct rev_info *opt, struct commit *commit)
601 {
602 - unsigned const char *sha1 = commit->object.sha1;
603 -
604 - diff_tree_combined_merge(sha1, opt->dense_combined_merges, opt);
602 + diff_tree_combined_merge(commit, opt->dense_combined_merges, opt);
603 return !opt->loginfo;
604 }
605