Also update t/t3407-rebase-abort.sh to exercise the bug
Signed-off-by: Bryan Donlan <bdonlan@fushizen.net>
---
git-rebase.sh | 2 +-
t/t3407-rebase-abort.sh | 55 +++++++++++++++++++++++++++-------------------
2 files changed, 33 insertions(+), 24 deletions(-)
diff --git a/git-rebase.sh b/git-rebase.sh
index 9b13b83..c43afe5 100755
--- a/git-rebase.sh
+++ b/git-rebase.sh
@@ -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
;;
diff --git a/t/t3407-rebase-abort.sh b/t/t3407-rebase-abort.sh
index 37944c3..396a354 100755
--- a/t/t3407-rebase-abort.sh
+++ b/t/t3407-rebase-abort.sh
@@ -4,7 +4,13 @@ test_description='git rebase --abort tests'
. ./test-lib.sh
+### Test that we handle strange 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 &&
@@ -27,42 +33,45 @@ testrebase() {
type=$1
dotest=$2
- test_expect_success "rebase$type --abort" '
+ 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 \$(git rev-parse to-rebase) = \$(git rev-parse pre-rebase) &&
+ test ! -d \"\$dotest\"
+ "
- test_expect_success "rebase$type --abort after --skip" '
+ 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) &&
+ 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 \$(git rev-parse to-rebase) = \$(git rev-parse pre-rebase) &&
+ test ! -d \"\$dotest\"
+ "
- test_expect_success "rebase$type --abort after --continue" '
+ 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 &&
test_must_fail git rebase --continue &&
- test $(git rev-parse HEAD) != $(git rev-parse master) &&
+ 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 \$(git rev-parse to-rebase) = \$(git rev-parse pre-rebase) &&
+ test ! -d \"\$dotest\"
+ "
}
testrebase "" .dotest
--
1.5.5.33.gc0a39.dirty
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html| Parag Warudkar | BUG: soft lockup - CPU#1 stuck for 15s! [swapper:0] |
| Tarkan Erimer | Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3 |
| Bart Van Assche | Integration of SCST in the mainstream Linux kernel |
| Greg Kroah-Hartman | [PATCH 001/196] Chinese: Add the known_regression URI to the HOWTO |
git: | |
| Gerrit Renker | [PATCH 27/37] dccp: Integration of dynamic feature activation - part 2 (server side) |
| David Miller | Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| Arjan van de Ven | Re: [GIT]: Networking |
| David Miller | Re: [BUG] New Kernel Bugs |
