El command Git de Cygwin está eliminando las llaves de un command. ¿Cómo evito esto?

Estoy tratando de ejecutar este command en cygwin:

$ git log --oneline --graph --decorate --all '@{u}..HEAD' fatal: ambiguous argument '@u..HEAD': unknown revision or path not in the working tree. Use '--' to separate paths from revisions 

Como puede ver por ese error, cree que estoy pasando @u..HEAD lugar de @{u}..HEAD . ¿Por qué se quitan las llaves y cómo puedo prevenir esto?

Estoy usando bash:

 $ echo $SHELL /bin/bash 

Creo que este puede ser el command git que hace esto, porque si uso echo, las llaves se quedan:

 $ echo '@{u}..HEAD' @{u}..HEAD 

Aquí hay otra información que puede ayudar:

 $ git version git version 1.7.9 $ type -a git git is /c/cygwin/bin/git $ git config -l core.repositoryformatversion=0 core.filemode=true core.bare=false core.logallrefupdates=true core.ignorecase=true svn-remote.svn.url=https://myrepo/svn/results svn-remote.svn.fetch=trunk:refs/remotes/trunk svn-remote.svn.branches=branches/*:refs/remotes/* svn-remote.svn.tags=tags/*:refs/remotes/tags/* $ git rev-parse --symbolic-full-name @{u} fatal: ambiguous argument '@u': unknown revision or path not in the working tree. Use '--' to separate paths from revisions @u 

Además, si esos /c paths te están llevando, ten en count que mi file .bashrc tiene esta línea para mi conveniencia: mount c: /c

Work Around : si utilizo este command, en su lugar git log --oneline --graph --decorate -- '@{u}..HEAD' no se queja. Observe la "–". Pero según todas las counts en IRC, no debería tener que hacer esto.

Compruebe el valor de su variable de entorno pCYGWIN .
Tal vez en tu caso, puedes intentar usar:

 CYGWIN=noglob git log ... @{u}..HEAD 

Como en este hilo :

Como entiendo documentos, si configuro CYGWIN=noglob , los arguments de línea de command pasan a la aplicación Cygwin SIN cambios.

Ese hilo también pide CYGWIN=glob:nobrace para limitar los cambios solo al corchete, pero no creo que funcione todavía en la versión actual de Cygwin.