Subject: [PATCH 0/3] rebase --root

From: Thomas Rast <[email-masked]>
Date: Mon, 29 Dec 2008 17:45:44 +0100

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