aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2009-01-14 16:29:59 -0800
committerJunio C Hamano <gitster@pobox.com>2009-01-14 16:29:59 -0800
commit17f26a9ee3298dfa0a1df7cd4e5f5f32342e5f62 (patch)
tree90f0add881a09d4479d49288d800f03c05cbb747
parentb47dfe9e9c86be97fc07c4c04e26a303730f76c6 (diff)
downloadgit-17f26a9ee3298dfa0a1df7cd4e5f5f32342e5f62.tar.gz
git-17f26a9ee3298dfa0a1df7cd4e5f5f32342e5f62.tar.xz
git-am: fix shell quoting
Noticed by Stephan Beyer; the new test is mine. Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rwxr-xr-xgit-am.sh2
-rwxr-xr-xt/t4252-am-options.sh8
2 files changed, 9 insertions, 1 deletions
diff --git a/git-am.sh b/git-am.sh
index 7e6329b14..4beb12dcf 100755
--- a/git-am.sh
+++ b/git-am.sh
@@ -38,7 +38,7 @@ sq () {
for sqarg
do
printf "%s" "$sqarg" |
- sed -e 's/'\''/'\''\'\'''\''/g' -e 's/.*/ '\''&'\''/'
+ sed -e 's/'\''/'\''\\'\'''\''/g' -e 's/.*/ '\''&'\''/'
done
}
diff --git a/t/t4252-am-options.sh b/t/t4252-am-options.sh
index e91a6da0d..5fdd18858 100755
--- a/t/t4252-am-options.sh
+++ b/t/t4252-am-options.sh
@@ -58,4 +58,12 @@ test_expect_success 'interrupted am --directory="frotz nitfol"' '
grep One "frotz nitfol/file-5"
'
+test_expect_success 'apply to a funny path' '
+ with_sq="with'\''sq"
+ rm -fr .git/rebase-apply &&
+ git reset --hard initial &&
+ git am --directory="$with_sq" "$tm"/am-test-5-2 &&
+ test -f "$with_sq/file-5"
+'
+
test_done