diff options
author | Junio C Hamano <gitster@pobox.com> | 2013-09-09 14:33:16 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2013-09-09 14:33:16 -0700 |
commit | 4ab4a6dfb414230bb3e13ba65a1aa2606c6102f3 (patch) | |
tree | b82e5312a7b54dcd85139b243ff688b7da737ab4 /combine-diff.c | |
parent | 24703ead4b9391cbe71ce9978cbffdd6c3ecbaec (diff) | |
parent | 838f9a15667cfefa9e645c26627ce81ce7599915 (diff) | |
download | git-4ab4a6dfb414230bb3e13ba65a1aa2606c6102f3.tar.gz |
Merge branch 'tr/log-full-diff-keep-true-parents'
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.
Tweak "git reflog -p" for the same reason using the same mechanism.
* 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) { |