Hello, Ingo sent a similar mail some time ago[1], that's why I Cc: him. For TopGit I want something similar as Ingo for -tip (I think): recreate a branch with a cleaned up history but without throwing away merge resolutions. I think most points from Ingo's mail are already addressed. Let's see if my mail is equally successful :-) One step that wasn't in Ingo's list, but I consider nice is the following workflow: export GIT_RR_CACHE=$(mktemp -d) git rerere add-to-cache-from origin..$branch_to_rebuild script doing the actual rebuild together with rerere.autocommit=true. Even though rerere is not save in general, this workflow seems fine. I think with this approach sharing the rr-cache isn't an issue anymore and merge conflicts that need manual work should be quite rare, even if you do it for the first time. I just found contrib/rerere-train.sh, which already addresses a part of my plan. One of my further goals is to do as much transformation without touching the working copy (to gain speed and comfort). For that I would need git merge to operate on an index, only and only fall back to using the working copy if manual intervention is needed. I have to admit that up to now I didn't look into the corresponding code, so consider this mail (only) as starter to collect ideas and comments. Best regards Uwe [1] http://thread.gmane.org/gmane.comp.version-control.git/85176/ -- Pengutronix e.K. | Uwe Kleine-König | Industrial Linux Solutions | http://www.pengutronix.de/ | -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html