git and absolute Windows-style paths

Ernie Rael err@raelity.com
Wed Apr 20 23:40:00 GMT 2016


On 4/20/2016 1:37 PM, Eliot Moss wrote:
> I think this will do it:
>
> function git {
>   declare -a ARGS
>   for n in "$@" ; do ARGS+=("$(cygpath -u -- "${n}")") ; done
>   command git "${ARGS[@]}"
> }
>
> The reason this is a little more complicated than some other approaches
> might be is that it will also work for arguments that have space, e.g.,
>
> git add "C:/My Documents/foo.doc"

Notice that
    IFS=$'\n'; args=($(cygpath -m -- "$@")); IFS=$' \t\n'
also handles arguments with spaces. You don't need the shell for loop.

-ernie
>
> Regards -- Eliot
>
> -- 
> Problem reports:       http://cygwin.com/problems.html
> FAQ:                   http://cygwin.com/faq/
> Documentation:         http://cygwin.com/docs.html
> Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
>
>
>


--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple



More information about the Cygwin mailing list