Skip to content

Commit eb8374c

Browse files
committed
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
2 parents 8f8d6ee + f94bfa1 commit eb8374c

File tree

2 files changed

+13
-2
lines changed

2 files changed

+13
-2
lines changed

builtin/log.c

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -528,10 +528,14 @@ static int cmd_log_walk_no_free(struct rev_info *rev)
528528
* but we didn't actually show the commit.
529529
*/
530530
rev->max_count++;
531-
if (!rev->reflog_info) {
531+
if (!rev->reflog_info && !rev->remerge_diff) {
532532
/*
533533
* We may show a given commit multiple times when
534-
* walking the reflogs.
534+
* walking the reflogs. Therefore we still need it.
535+
*
536+
* Likewise, we potentially still need the parents
537+
* of * already shown commits to determine merge
538+
* bases when showing remerge diffs.
535539
*/
536540
free_commit_buffer(the_repository->parsed_objects,
537541
commit);

t/t4069-remerge-diff.sh

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -353,4 +353,11 @@ test_expect_success 'remerge-diff turns off history simplification' '
353353
test_cmp expect actual
354354
'
355355

356+
test_expect_success 'remerge-diff with --reverse' '
357+
git log -1 --remerge-diff --oneline ab_resolution^ >expect &&
358+
git log -1 --remerge-diff --oneline ab_resolution >>expect &&
359+
git log -2 --remerge-diff --oneline ab_resolution --reverse >actual &&
360+
test_cmp expect actual
361+
'
362+
356363
test_done

0 commit comments

Comments
 (0)