git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH] git.sh: quote all paths

From
Jonas Fonseca <fonseca@diku.dk>
Date
Oct 10, 2005, 09:26 UTC
Message-ID
<20051010092638.GC18009@diku.dk>
In-Reply-To
<7vmzlh7n7h.fsf@assigned-by-dhcp.cox.net>
This makes it handle spaces in paths.
Signed-off-by: Jonas Fonseca <fonseca@diku.dk>
---
Junio C Hamano <junkio@cox.net> wrote Mon, Oct 10, 2005:
Show 20 quoted lines
> Jonas Fonseca <fonseca@diku.dk> writes:
> 
> > Support installing to paths including spaces.
> > Remove any old .exe files so ln will succeed.
> >
> 
> This is not a complaint but I am just wondering if:
> 
> > -	$(INSTALL) -d -m755 $(DESTDIR)$(bindir)
> > +	$(INSTALL) -d -m755 "$(DESTDIR)$(bindir)"
> 
> this is the right way to quote things.  I suspect it might be
> the responsibility of the user to quote them if she chooses to
> set bindir or DESTDIR to a funky value, like this:
> 
>     $ make bindir="'My Documents\Programs'"
> 
> Because depending on how funky the values of bindir and DESTDIR
> are, we cannot say double-quote you are giving them is even the
> right quoting (think double-quote itself as part of the name).

Yeah, ok, it could end up very wrong. I hope that this patch is acceptable. I've tested it lightly, and the core commands seems to work, there might be other git scripts that needs to be changed.

> The other "$X" change to cmd-renames is a good change (I thought
> I heard HPA talking about that; maybe he sent one to me and I
> dropped it on the floor by mistake, I dunno).  Thanks.
I also sent a 'disguised' patch in <20051005131631.GA9442@diku.dk> ...
---
diff --git a/git.sh b/git.sh
index 7400c16..19f89d8 100755
--- a/git.sh
+++ b/git.sh
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 cmd=
-path=$(dirname $0)
+path=$(dirname "$0")
 case "$#" in
 0)	;;
 *)	cmd="$1"
@@ -12,13 +12,13 @@ case "$#" in
 		exit 0 ;;
 	esac
 	
-	test -x $path/git-$cmd && exec $path/git-$cmd "$@"
+	test -x "$path/git-$cmd" && exec "$path/git-$cmd" "$@"
 	
 	case '@@X@@' in
 	    '')
 		;;
 	    *)
-		test -x $path/git-$cmd@@X@@ && exec $path/git-$cmd@@X@@ "$@"
+		test -x "$path/git-$cmd.exe" && exec "$path/git-$cmd.exe" "$@"
 		;;
 	esac
 	;;
-- 
Jonas Fonseca
Previous: Junio C HamanoNext: Jonas Fonseca
Message 4 of 9 in “Fix cygwin install issues”
  1. Fix cygwin install issuesJonas Fonseca, Oct 10, 2005
  2. Jonas FonsecaOct 10, 2005
  3. Junio C HamanoOct 10, 2005
  4. git.sh: quote all pathsJonas Fonseca, Oct 10, 2005
  5. git.sh: quote all pathsJonas Fonseca, Oct 10, 2005
  6. H. Peter AnvinOct 10, 2005
  7. Junio C HamanoOct 10, 2005
  8. H. Peter AnvinOct 10, 2005
  9. Deal with $(bindir) and friends with whitespaces.Junio C Hamano, Oct 10, 2005

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.