Subject: [PATCH] git.sh: quote all paths

From: Jonas Fonseca <[email-masked]>
Date: Mon, 10 Oct 2005 11:26:38 +0200

This makes it handle spaces in paths.

Signed-off-by: Jonas Fonseca <[email-masked]>

---

Junio C Hamano <[email-masked]> wrote Mon, Oct 10, 2005:
> Jonas Fonseca <[email-masked]> 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 <[email-masked]> ...

---
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