¿Cómo ejecutar msysgit desde Cygwin?

¿Cómo puedo ejecutar msysgit (la versión de Windows de git distributed by github) en el entorno de Cygwin?

El truco de Cygwin se rompe cuando intentas usarlo en los resources compartidos de networking de Windows. Msysgit no tiene ese problema, pero no sé cómo hacerlo funcionar en Cygwin.

(El entorno Unix-y de Cygwin es mucho mejor que el mínimo provisto con msysgit, así que quiero que esto funcione bajo Cygwin).

Algunas cosas que he probado que no funcionan:

  • Copiando git.exe en el directory bin de Cygwin (se queja de dlls faltantes)
  • También copyndo los dlls (se queja de no encontrar la carpeta … / share que le dice cómo https)
  • Varios trucos con uniones

Estoy perplejo en este punto. ¿Esto es posible?

O bien, ¿hay alguna manera de hacer que el git de Cygwin funcione en un recurso compartido de networking?

=============================================== ===

AGREGADO 4 DIC 2014: en más investigación, descubrí que msysgit funciona bien bajo Cygwin al clonar repositorys públicos , pero no al clonar los privados (desde GitHub).

Agregué el directory … / bin de msysgit al final de $ PATH en Cygwin (el git propio de Cygwin no está actualmente instalado). La clonación de un repository público funciona bien, pero cuando trato de clonar uno privado obtengo:

msysgit en Cygwin:

dave@ENOUGH /cygdrive/z $ git clone https://github.com/nerdfever/MouseCam Cloning into 'MouseCam'... 

[simplemente se queda allí hasta que toco ^ C]

Pero funciona bien en cmd.exe:

 Z:\>git clone https://github.com/nerdfever/MouseCam Cloning into 'MouseCam'... remote: Counting objects: 35, done. remote: Compressing objects: 100% (3/3), done. remote: Total 35 (delta 0), reused 0 (delta 0) Unpacking objects: 100% (35/35), done. Checking connectivity... done. Z:\> 

Mis cnetworkingenciales de GitHub se almacenan en c: \ Users \ Dave \ .git-cnetworkingentials, que contiene:

 https://nerdfever:<...long hex string...>@github.com 

Creo que mi problema principal es que msysgit no está leyendo estas cnetworkingenciales correctamente bajo Cygwin, incluso si funciona bien tanto bajo cmd.exe como bajo el shell bash de msysgit.

Pero, ¿por qué y cómo solucionarlo?

AÑADIDO 330pm:

Casi tengo esto funcionando. Después de copyr .gitconfig y .git-cnetworkingentials desde la location de msysgit (c: \ Users \ Dave) en Cygwin's, git completa el clon.

El único problema restante es que msysgit falta, es verbosidad normal (y -v no ayuda). Debajo de Cygwin:

 dave@ENOUGH /cygdrive/z $ git clone https://github.com/nerdfever/MouseCam -v Cloning into 'MouseCam'... POST git-upload-pack (262 bytes) dave@ENOUGH /cygdrive/z 

Compare con lo que obtengo debajo de cmd.exe (vea arriba).

Lo que intenta hacer es una mala idea, pero si insiste en que podría hacerlo así

 set /cygdrive/c/msysgit/bin/git /usr/local/bin cp $1 $2 ldd $1 | awk '$0~"/bin" && !seen[$0]++ {print $3}' | xargs cp -t $2 

Esta voluntad

  • copy git a /usr/local/bin
  • copie los requisitos de git a /usr/local/bin
  • /usr/local/bin es el máximo pnetworkingeterminado de la RUTA de Cygwin, por lo que debe ejecutarse incluso antes de Cygwin Git

Ejemplo

Casi tengo esto funcionando. Después de copyr .gitconfig y .git-cnetworkingentials desde la location de msysgit (c: \ Users \ Dave) en Cygwin's, git completa el clon.

Esto funcionó para mí. Copié .gitconfig y el contenido de .ssh desde la casa de msysgit hasta la casa de Cygwin.