From: Igor Djordjevic Date: Thu, 08 Mar 2018 20:27:27 GMT Subject: Re: [RFC v2] Rebasing merges: a jorney to the ultimate solution (Road Clear) Message-ID: <4918cc79-79ba-5dd2-ea84-dc47db47d835@gmail.com> In-Reply-To: On 08/03/2018 20:58, Igor Djordjevic wrote: > > git merge-recursive U1' -- M U2' > tree="$(git write-tree)" > # in case of original merge being octopus, we would continue like: > # git merge-recursive $tree -- M U3' > # tree="$(git write-tree)" > # git merge-recursive $tree -- M U4' > # ... and so on, then finally: > git merge-recursive $tree -- "$(git merge-base U1' U2' B1')" B1' > # in more general case, it would be: > # git merge-recursive $tree -- "$(git merge-base )" B1' > tree="$(git write-tree)" > git tag M' "$(git log --pretty=%B -1 M | git commit-tree $tree -p B3' -p B4 -p B1')" That last line should obviously read just: git log --pretty=%B -1 M | git commit-tree $tree -p B3' -p B4 -p B1' ..., above mentioned `git tag M'` part being a leftover from my other test script.