Hi Stefan, I've also done some archaeology and found that the original version of the merge preserving code was written by Johannes Schindelin <Johannes.Schindelin@xxxxxx>, see e.g. f09c9b8c5ff9d8a15499b09ccd6c3e7b3c76af77 There were also some big discussion threads in 2007-2008 regarding a better mechanism to "mark" or "tag" the heads of rebased branches, but I haven't seen consensus and development in that direction after that. PS There are also some pieces of "what should work" in these tests: t/t3409-rebase-preserve-merges.sh* t/t3410-rebase-preserve-dropped-merges.sh* t/t3411-rebase-preserve-around-merges.sh* t/t3414-rebase-preserve-onto.sh* -- Mit freundlichen Grüßen, Anatoly Borodin