diff options
| author | Junio C Hamano <gitster@pobox.com> | 2024-12-16 08:45:14 -0800 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2024-12-16 08:45:14 -0800 |
| commit | eb8374c652e56ee18702a8d0b06dd6bf6d07eff7 (patch) | |
| tree | e4a32763449d3d575d57d9bf0491353e55e6470e | |
| parent | The seventh batch (diff) | |
| parent | log: --remerge-diff needs to keep around commit parents (diff) | |
| download | git-eb8374c652e56ee18702a8d0b06dd6bf6d07eff7.tar.gz git-eb8374c652e56ee18702a8d0b06dd6bf6d07eff7.zip | |
Merge branch 'js/log-remerge-keep-ancestry' into js/range-diff-diff-merges
* js/log-remerge-keep-ancestry:
log: --remerge-diff needs to keep around commit parents
| -rw-r--r-- | builtin/log.c | 8 | ||||
| -rwxr-xr-x | t/t4069-remerge-diff.sh | 7 |
2 files changed, 13 insertions, 2 deletions
diff --git a/builtin/log.c b/builtin/log.c index 368f6580a6..923e4e6069 100644 --- a/builtin/log.c +++ b/builtin/log.c @@ -528,10 +528,14 @@ static int cmd_log_walk_no_free(struct rev_info *rev) * but we didn't actually show the commit. */ rev->max_count++; - if (!rev->reflog_info) { + if (!rev->reflog_info && !rev->remerge_diff) { /* * We may show a given commit multiple times when - * walking the reflogs. + * walking the reflogs. Therefore we still need it. + * + * Likewise, we potentially still need the parents + * of * already shown commits to determine merge + * bases when showing remerge diffs. */ free_commit_buffer(the_repository->parsed_objects, commit); diff --git a/t/t4069-remerge-diff.sh b/t/t4069-remerge-diff.sh index df342850a0..584ce0fe29 100755 --- a/t/t4069-remerge-diff.sh +++ b/t/t4069-remerge-diff.sh @@ -353,4 +353,11 @@ test_expect_success 'remerge-diff turns off history simplification' ' test_cmp expect actual ' +test_expect_success 'remerge-diff with --reverse' ' + git log -1 --remerge-diff --oneline ab_resolution^ >expect && + git log -1 --remerge-diff --oneline ab_resolution >>expect && + git log -2 --remerge-diff --oneline ab_resolution --reverse >actual && + test_cmp expect actual +' + test_done |
