[PATCH 0/3] rebase --root
- From
Thomas Rast <trast@student.ethz.ch>
- Date
- Dec 29, 2008, 16:45 UTC
- Message-ID
- <cover.1230568082.git.trast@student.ethz.ch>
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