git and absolute Windows-style paths
Adam Dinwoodie
adam@dinwoodie.org
Wed Apr 20 21:17:00 GMT 2016
On Wed, Apr 20, 2016 at 04:37:34PM -0400, 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"
For a marginally simpler, or at least shorter, version, use `for n; do
...` rather than `for n in "$@"; do` -- Bash loops over positional
arguments by default if you don't specify a list with `in`.
Perfect for confusing anyone else (or indeed yourself at some point in
the future) who isn't familiar with the many, many idiosyncrasies of
shell languages.
--
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