Re: [PATCH] Allow passing of --directory to git-am.
- From
Jakub Narebski <jnareb@gmail.com>
- Date
- Dec 4, 2008, 19:35 UTC
- Message-ID
- <m3hc5jivjo.fsf@localhost.localdomain>
- In-Reply-To
- <49382612.3010207@fs.ei.tum.de>
Simon 'corecode' Schubert <corecode@fs.ei.tum.de> writes:
Show 26 quoted lines
> 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@fs.ei.tum.de> > --- > > 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
Shouldn't it be
+ directory= pass it through git-apply
to have it aligned like the rest of it?
By the way, your patch looks whitespace damaged, although only context for the above chunk was wrapped...
Show 11 quoted lines
> 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")
Why not simply use "git rev-parse --sq"?
Show 10 quoted lines
> + 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"'
Why eval?
Show 5 quoted lines
> apply_status=$? > ;; > t) > -- > 1.6.1.rc1.45.g123ed.dirty
Hmmm...
-- Jakub Narebski Poland ShadeHawk on #git