From: Ian Jackson Date: Sun, 12 Aug 2018 00:25:18 +0000 (+0100) Subject: git-debrebase: merge: Actually use merge resolutions X-Git-Tag: archive/debian/6.7~62 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=dgit.git;a=commitdiff_plain;h=63ddbee7d0c3bdfaf34cce3950c1a80fb97602c8 git-debrebase: merge: Actually use merge resolutions Signed-off-by: Ian Jackson --- diff --git a/git-debrebase b/git-debrebase index 96966adb..f9b6254d 100755 --- a/git-debrebase +++ b/git-debrebase @@ -1481,12 +1481,20 @@ sub walk ($;$$$) { read_tree_debian($cltree); @parents = map { $_->{Breakwater} } @{ $cl->{Parents} }; } elsif ($method eq 'MergeMergeSeries') { - print "Running merge resolution for $cl->{CommitId}...\n"; - $mwrecknote->('new-base', $build); - $build = merge_series - $build, $cl->{MergeWreckNotes}, - $cl->{MergeInterchangeBaseInfo}, - @{ $cl->{Parents} }; + my $cachehit = reflog_cache_lookup + $merge_cache_ref, "vanilla-merge $cl->{CommitId}"; + if ($cachehit) { + print "Using supplied resolution for $cl->{CommitId}...\n"; + $build = $cachehit; + $mwrecknote->('cached-resolution', $build); + } else { + print "Running merge resolution for $cl->{CommitId}...\n"; + $mwrecknote->('new-base', $build); + $build = merge_series + $build, $cl->{MergeWreckNotes}, + $cl->{MergeInterchangeBaseInfo}, + @{ $cl->{Parents} }; + } $last_anchor = $cl->{MergeBestAnchor}; # Check for mismerges: