Inspired by f95ebf7 (Allow cherry-picking root commits, 2008-07-04), this teaches git rebase to rebase everything up to the root commit(s). The main use-case for this is if you hack on new history, then later notice that you want to unroll the commits "on" a git-svn branch to dcommit them separately. (If you just want to squash them, a merge will do fine.) Note that --root (in both modes) requires --onto; you cannot rebase "onto nothing" to edit the root commit. Such an option --onto-nothing might be a worthwile feature however, since it would also allow "detaching" a set of commits from their parent history. BTW, while hacking this I noticed that there are two different tests t3409: t3409-rebase-hook.sh t3409-rebase-preserve-merges.sh Is this okay, or should one of them be renamed? Thomas Rast (3): rebase: learn to rebase root commit rebase -i: learn to rebase root commit rebase: update documentation for --root Documentation/git-rebase.txt | 17 +++++++--- git-rebase--interactive.sh | 53 +++++++++++++++++++++++++-------- git-rebase.sh | 51 ++++++++++++++++++++++---------- t/t3412-rebase-root.sh | 66 ++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 153 insertions(+), 34 deletions(-) create mode 100755 t/t3412-rebase-root.sh -- 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