We need to play some shell tricks to be able to pass directory names
which contain spaces and/or quotes.
Signed-off-by: Simon 'corecode' Schubert <corecode@xxxxxxxxxxxx>
---
Boyd Stephen Smith Jr. wrote:
> I'm thinking your sed line doesn't do what you think it does. You
probably
> want something like:
> bss@monster:~$ echo "don't" | sed -e "s/'/'\\\\''/g"
> don'\''t
Thanks, I clearly did not test this well enough.
git-am.sh | 8 +++++---
1 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/git-am.sh b/git-am.sh
index aa60261..3baff4e 100755
--- a/git-am.sh
+++ b/git-am.sh
@@ -16,6 +16,7 @@ s,signoff add a Signed-off-by line to the commit
message
u,utf8 recode into utf8 (default)
k,keep pass -k flag to git-mailinfo
whitespace= pass it through git-apply
+directory= pass it through git-apply
C= pass it through git-apply
p= pass it through git-apply
resolvemsg= override error message when patch failure occurs
@@ -155,8 +156,9 @@ do
;;
--resolvemsg)
shift; resolvemsg=$1 ;;
- --whitespace)
- git_apply_opt="$git_apply_opt $1=$2"; shift ;;
+ --whitespace|--directory)
+ quot=$(echo "$2" | sed -e "s/'/'\\\''/g")
+ git_apply_opt="$git_apply_opt $1='$quot'"; shift ;;
-C|-p)
git_apply_opt="$git_apply_opt $1$2"; shift ;;
--)
@@ -454,7 +456,7 @@ do
case "$resolved" in
'')
- git apply $git_apply_opt --index "$dotest/patch"
+ eval git apply $git_apply_opt --index '"$dotest/patch"'
apply_status=$?
;;
t)
--
1.6.1.rc1.45.g123ed.dirty
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html