Re: [PATCH 1/3] rev-parse: add --sq-quote to shell quote arguments
From: Christian Couder <hidden>
Date: 2016-06-15 22:46:39
Le vendredi 24 avril 2009, Johannes Sixt a écrit :
Junio C Hamano schrieb:quoted
Not very readable. A better example might be to demonstrate something like this: $ cat >your-git-script.sh <<\EOF #!/bin/sh # quote user-supplied arguments args=$(git rev-parse --sq-quote "$@") # and use it inside a handcrafted command line command="git frotz -n24 $args" eval "$command" EOF $ sh your-git-script.sh "a b'c" i.e, put stress on how to use it, not on how it works internally.Hmm, that makes me wonder why we special-case shell-quoting and implement it in an executable. Why don't we have perl-quoting, C-quoting, PHP-quoting, $language-of-your-choice quoting, etc, too?
Because there are a lot of shell scripts in the Git source code and it's an important problem for shell scripts to properly handle arguments.
I think we should simply move sq() from git-am to git-sh-setup and use that in git-bisect.
We already have an implementation of shell quoting in C, why not use it everywhere instead of having 2 implementations? And what happens if someone want to port to C a shell script that uses sq()? The implementation used will have to be the one in C, so why not use it right now? Regards, Christian.