Brandon Turner <bt <at> brandonturner.net> writes:
> +__git_ls_files_helper ()
> +{
> + (
> + test -n "${CDPATH+set}" && unset CDPATH
> + cd -q "$1"
> + if [ "$2" == "--committable" ]; then
> + git diff-index --name-only --relative HEAD
> + else
> + # NOTE: $2 is not quoted in order to support multiple
> options
> + git ls-files --exclude-standard $2
> + fi
> + ) 2>/dev/null
> +}
> +
(Sorry about this; I should've caught it the first time around). Zsh
does not split string expansions into several words by default. For
example:
$ str1='hello world'
$ str2='goodbye moon'
$ printf '%s\n' $str1 $str2
hello world
goodbye moon
This can be enabled on a "per-expansion basis" by using = while
expanding:
$ str1='hello world'
$ str2='goodbye moon'
$ printf '%s\n' $=str1 $str2
hello
world
goodbye moon
So the $2 in your patch should be $=2.
BUT: Over a year ago Git learned the -C argument. Couldn't we use that
here? That way we would not have to unset CDPATH and can get rid of the
subshell and cd -q. If we allow the other functions to use several
arguments to pass options with we can get rid of the whole seperation
between bash and zsh altogether.
Øsse
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html