git rebase allows you to specify a non-branch commit-ish as the "branch" argument, which leaves HEAD detached when it's finished. This is occasionally useful, and this patch brings the same functionality to git rebase ---interactive. Signed-off-by: Dave Olszewski <cxreg@xxxxxxxxx> --- git-rebase--interactive.sh | 2 -- t/t3404-rebase-interactive.sh | 7 +++++++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/git-rebase--interactive.sh b/git-rebase--interactive.sh index 3e4fd14..d047dcb 100755 --- a/git-rebase--interactive.sh +++ b/git-rebase--interactive.sh @@ -783,8 +783,6 @@ first and then run 'git rebase --continue' again." if test ! -z "$1" then - output git show-ref --verify --quiet "refs/heads/$1" || - die "Invalid branchname: $1" output git checkout "$1" || die "Could not checkout $1" fi diff --git a/t/t3404-rebase-interactive.sh b/t/t3404-rebase-interactive.sh index 4e35137..32ffa15 100755 --- a/t/t3404-rebase-interactive.sh +++ b/t/t3404-rebase-interactive.sh @@ -553,4 +553,11 @@ test_expect_success 'reword' ' git show HEAD~2 | grep "C changed" ' +test_expect_success 'rebase while detaching HEAD' ' + grandparent=$(git rev-parse HEAD~2) && + test_tick && + FAKE_LINES="2 1" git rebase -i HEAD~2 HEAD^0 && + test $grandparent = $(git rev-parse HEAD~2) +' + test_done -- 1.7.0.2.213.gd6898.dirty -- 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