Skip to content
Browse files

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>
  • Loading branch information...
1 parent 0041f09 commit 82889295e76200714d76e0f7beb07b6b9e3b5a88 René Scharfe committed with gitster Dec 17, 2011
Showing with 6 additions and 8 deletions.
  1. +3 −4 combine-diff.c
  2. +2 −1 diff.h
  3. +1 −3 log-tree.c
View
7 combine-diff.c
@@ -1196,17 +1196,16 @@ void diff_tree_combined(const unsigned char *sha1,
}
}
-void diff_tree_combined_merge(const unsigned char *sha1,
- int dense, struct rev_info *rev)
+void diff_tree_combined_merge(const struct commit *commit, int dense,
+ struct rev_info *rev)
{
- struct commit *commit = lookup_commit(sha1);
struct commit_list *parent = commit->parents;
struct sha1_array parents = SHA1_ARRAY_INIT;
while (parent) {
sha1_array_append(&parents, parent->item->object.sha1);
parent = parent->next;
}
- diff_tree_combined(sha1, &parents, dense, rev);
+ diff_tree_combined(commit->object.sha1, &parents, dense, rev);
sha1_array_clear(&parents);
}
View
3 diff.h
@@ -13,6 +13,7 @@ struct strbuf;
struct diff_filespec;
struct userdiff_driver;
struct sha1_array;
+struct commit;
typedef void (*change_fn_t)(struct diff_options *options,
unsigned old_mode, unsigned new_mode,
@@ -198,7 +199,7 @@ extern void show_combined_diff(struct combine_diff_path *elem, int num_parent,
extern void diff_tree_combined(const unsigned char *sha1, const struct sha1_array *parents, int dense, struct rev_info *rev);
-extern void diff_tree_combined_merge(const unsigned char *sha1, int, struct rev_info *);
+extern void diff_tree_combined_merge(const struct commit *commit, int dense, struct rev_info *rev);
void diff_set_mnemonic_prefix(struct diff_options *options, const char *a, const char *b);
View
4 log-tree.c
@@ -599,9 +599,7 @@ int log_tree_diff_flush(struct rev_info *opt)
static int do_diff_combined(struct rev_info *opt, struct commit *commit)
{
- unsigned const char *sha1 = commit->object.sha1;
-
- diff_tree_combined_merge(sha1, opt->dense_combined_merges, opt);
+ diff_tree_combined_merge(commit, opt->dense_combined_merges, opt);
return !opt->loginfo;
}

0 comments on commit 8288929

Please sign in to comment.
Something went wrong with that request. Please try again.