Re: [PATCH] Fixing path quoting issues
- From
David Kastrup <dak@gnu.org>
- Date
- Oct 11, 2007, 06:47 UTC
- Message-ID
- <854pgytafi.fsf@lola.goethe.zz>
- In-Reply-To
- <470DC05A.8020209@viscovery.net>
Johannes Sixt <j.sixt@viscovery.net> writes:
Show 17 quoted lines
> Jonathan del Strother schrieb: >> + cmt=`cat "$dotest/current"` > > This is ok, but... > >> + prev_head="`cat \"$dotest/prev_head\"`" > > ... there are shells out there in the wild that will get badly > confused by this sort of quoting and escaping. Butter use > > prev_head=$(cat "$dotest/prev_head") > > >> -VISUAL="$(pwd)/fake-editor.sh" >> +VISUAL="'$(pwd)/fake-editor.sh'" > > Huh? This looks very wrong.
It is correct, modulo breaking when there are single quotes in the current path name.
> What are the extra quotes needed for?
Spaces in the current path name.
> If they are really needed, isn't this a bug in > git-rebase--interactive.sh?
No.
> I question the usefulness of this patch. Why only fix breakage due > to spaces in the path? What about single-quotes, double-quotes?
Double quotes would work. Single quotes wouldn't. You can do something like
visualpath="$(pwd)" export visualpath VISUAL='"$visualpath/fake-editor.sh"'
and this should work in all circumstances where VISUAL is interpreted as intended (which at the current point of time does not include git's C callers).
> IMHO, it's not too much of a burden for developers to require "sane" > build directory paths.
For a normal user, the only writable directories might be of the "C:\Programs and Data\User settings\Karl" variety.
-- David Kastrup, Kriemhildstr. 15, 44793 Bochum