Also update t/t3407-rebase-abort.sh to exercise the bug
Signed-off-by: Bryan Donlan <bdonlan@fushizen.net>
---
git-rebase.sh | 4 +-
t/t3407-rebase-abort.sh | 55 +++++++++++++++++++++++++++-------------------
2 files changed, 34 insertions(+), 25 deletions(-)
diff --git a/git-rebase.sh b/git-rebase.sh
index 60c458f..389b5cb 100755
--- a/git-rebase.sh
+++ b/git-rebase.sh
@@ -42,7 +42,7 @@ To restore the original branch and stop rebasing run \"git rebase --abort\".
unset newbase
strategy=recursive
do_merge=
-dotest=$GIT_DIR/.dotest-merge
+dotest="$GIT_DIR/.dotest-merge"
prec=4
verbose=
git_am_opt=
@@ -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.8.gbbd98
--
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
| Anders | PROBLEM: high load average when idle |
| Rafael J. Wysocki | [Bug #11264] Invalid op opcode in kernel/workqueue |
| Bart Van Assche | Integration of SCST in the mainstream Linux kernel |
| Andrew Morton | Re: [PATCH 2/2][MTD] Add support for > 2GiB MTD devices |
git: | |
| Pietro Mascagni | GIT vs Other: Need argument |
| koreth | [PATCH] Change to the repository's root directory if needed. |
| Andreas Hildebrandt | CVS-$Id:$ replacement in git? |
| Mike Gant | git clone operation |
| Stefan Beke | mail dovecot: pipe() failed: Too many open files |
| Richard Stallman | Real men don't attack straw men |
| GVG GVG | ssh_exchange_identification: Connection closed by remote host |
| Karsten McMinn | Re: Packets Per Second Limit? |
| Douglas Muir | Re: Linux on Macintrashes? (Was: Re: Linux on |
| Jim Winstead Jr. | Re: Root Disk/Book Disk Compatibility |
| Mathew B Beall | Installation |
| Stephen Tweedie | Re: No utmp entry. You must exec "login" from lowest level "sh" |
