git-rebase.sh: Fix --merge --abort failures when path contains whitespace
Also update t/t3407-rebase-abort.sh to expose the bug. Signed-off-by: Bryan Donlan <bdonlan@fushizen.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
c697ad143b
commit
97b88dd58c
@ -214,7 +214,7 @@ do
|
||||
else
|
||||
die "No rebase in progress?"
|
||||
fi
|
||||
git reset --hard $(cat $dotest/orig-head)
|
||||
git reset --hard $(cat "$dotest/orig-head")
|
||||
rm -r "$dotest"
|
||||
exit
|
||||
;;
|
||||
|
@ -4,7 +4,13 @@ test_description='git rebase --abort tests'
|
||||
|
||||
. ./test-lib.sh
|
||||
|
||||
### Test that we handle space characters properly
|
||||
work_dir="$(pwd)/test dir"
|
||||
|
||||
test_expect_success setup '
|
||||
mkdir -p "$work_dir" &&
|
||||
cd "$work_dir" &&
|
||||
git init &&
|
||||
echo a > a &&
|
||||
git add a &&
|
||||
git commit -m a &&
|
||||
@ -28,32 +34,35 @@ testrebase() {
|
||||
dotest=$2
|
||||
|
||||
test_expect_success "rebase$type --abort" '
|
||||
cd "$work_dir" &&
|
||||
# Clean up the state from the previous one
|
||||
git reset --hard pre-rebase
|
||||
test_must_fail git rebase'"$type"' master &&
|
||||
test -d '$dotest' &&
|
||||
git reset --hard pre-rebase &&
|
||||
test_must_fail git rebase$type master &&
|
||||
test -d "$dotest" &&
|
||||
git rebase --abort &&
|
||||
test $(git rev-parse to-rebase) = $(git rev-parse pre-rebase) &&
|
||||
test ! -d '$dotest'
|
||||
test ! -d "$dotest"
|
||||
'
|
||||
|
||||
test_expect_success "rebase$type --abort after --skip" '
|
||||
cd "$work_dir" &&
|
||||
# Clean up the state from the previous one
|
||||
git reset --hard pre-rebase
|
||||
test_must_fail git rebase'"$type"' master &&
|
||||
test -d '$dotest' &&
|
||||
git reset --hard pre-rebase &&
|
||||
test_must_fail git rebase$type master &&
|
||||
test -d "$dotest" &&
|
||||
test_must_fail git rebase --skip &&
|
||||
test $(git rev-parse HEAD) = $(git rev-parse master) &&
|
||||
git-rebase --abort &&
|
||||
test $(git rev-parse to-rebase) = $(git rev-parse pre-rebase) &&
|
||||
test ! -d '$dotest'
|
||||
test ! -d "$dotest"
|
||||
'
|
||||
|
||||
test_expect_success "rebase$type --abort after --continue" '
|
||||
cd "$work_dir" &&
|
||||
# Clean up the state from the previous one
|
||||
git reset --hard pre-rebase
|
||||
test_must_fail git rebase'"$type"' master &&
|
||||
test -d '$dotest' &&
|
||||
git reset --hard pre-rebase &&
|
||||
test_must_fail git rebase$type master &&
|
||||
test -d "$dotest" &&
|
||||
echo c > a &&
|
||||
echo d >> a &&
|
||||
git add a &&
|
||||
@ -61,7 +70,7 @@ testrebase() {
|
||||
test $(git rev-parse HEAD) != $(git rev-parse master) &&
|
||||
git rebase --abort &&
|
||||
test $(git rev-parse to-rebase) = $(git rev-parse pre-rebase) &&
|
||||
test ! -d '$dotest'
|
||||
test ! -d "$dotest"
|
||||
'
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user