rebase--interactive: don't require what's rebased to be a branch
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@pobox.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
3a27f415df
commit
2ec33cdd19
@ -783,8 +783,6 @@ first and then run 'git rebase --continue' again."
|
|||||||
|
|
||||||
if test ! -z "$1"
|
if test ! -z "$1"
|
||||||
then
|
then
|
||||||
output git show-ref --verify --quiet "refs/heads/$1" ||
|
|
||||||
die "Invalid branchname: $1"
|
|
||||||
output git checkout "$1" ||
|
output git checkout "$1" ||
|
||||||
die "Could not checkout $1"
|
die "Could not checkout $1"
|
||||||
fi
|
fi
|
||||||
|
@ -553,4 +553,13 @@ test_expect_success 'reword' '
|
|||||||
git show HEAD~2 | grep "C changed"
|
git show HEAD~2 | grep "C changed"
|
||||||
'
|
'
|
||||||
|
|
||||||
|
test_expect_success 'rebase while detaching HEAD' '
|
||||||
|
git symbolic-ref 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_must_fail git symbolic-ref HEAD
|
||||||
|
'
|
||||||
|
|
||||||
test_done
|
test_done
|
||||||
|
Loading…
x
Reference in New Issue
Block a user