diff options
author | Junio C Hamano <gitster@pobox.com> | 2013-09-18 11:59:05 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2013-09-18 11:59:05 -0700 |
commit | 6930cd10de930b09639e1dad7ae8d74f9128e404 (patch) | |
tree | d3cee943976b69449b939a6aa359c9c4dc8c0f34 /combine-diff.c | |
parent | 1e93c28f53e19945f059fd709729d724f8c06446 (diff) | |
parent | 838f9a15667cfefa9e645c26627ce81ce7599915 (diff) | |
download | git-6930cd10de930b09639e1dad7ae8d74f9128e404.tar.gz |
Merge branch 'tr/log-full-diff-keep-true-parents' into maint
Output from "git log --full-diff -- <pathspec>" looked strange,
because comparison was done with the previous ancestor that touched
the specified <pathspec>, causing the patches for paths outside the
pathspec to show more than the single commit has changed.
* tr/log-full-diff-keep-true-parents:
log: use true parents for diff when walking reflogs
log: use true parents for diff even when rewriting
Diffstat (limited to 'combine-diff.c')
-rw-r--r-- | combine-diff.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/combine-diff.c b/combine-diff.c index 88525b37cf..4fc16ad4f3 100644 --- a/combine-diff.c +++ b/combine-diff.c @@ -10,6 +10,7 @@ #include "refs.h" #include "userdiff.h" #include "sha1-array.h" +#include "revision.h" static struct combine_diff_path *intersect_paths(struct combine_diff_path *curr, int n, int num_parent) { @@ -1383,7 +1384,7 @@ void diff_tree_combined(const unsigned char *sha1, void diff_tree_combined_merge(const struct commit *commit, int dense, struct rev_info *rev) { - struct commit_list *parent = commit->parents; + struct commit_list *parent = get_saved_parents(rev, commit); struct sha1_array parents = SHA1_ARRAY_INIT; while (parent) { |