Cygwin y TortoiseGit

Recientemente instalé Cygwin junto con los binarys de Git y una copy de TortoiseGit en una nueva installation de Windows XP. Parece que puedo hacer la mayoría de las operaciones de Git a través de TortoiseGit, como ver los loggings, etc., pero cuando me comprometo a través de TortoiseGit obtengo este post …

error: no se puede crear el nombre de file sha1 temporal: no existe dicho file o directory

Puedo comprometerme a través de la command-line. ¡Simplemente no parece poder comprometerme a través de la interfaz de interfaz gráfica de usuario!

TortoiseGit está optimizado para Git para Windows.

Sin embargo, comenzando con TortoiseGit 1.8.13.0 Cygwin git también se puede usar con TortoiseGit.

Debe configurarlo de la siguiente manera en la configuration de TortoiseGit: abra el cuadro de dialog de configuration de TortoiseGit y abra la página General.

1) Seleccione la carpeta [CYGWIN-INSTALL-PATH] \ bin como la carpeta git.exe.

2) Configure la variable de entorno HOME en Windows, para que Cygwin y TortoiseGit utilicen el mismo directory personal y global git-config. Use la notación normal de Windows aquí (p. Ej., "C: \ Users \ NOMBRE DE USUARIO"). De forma pnetworkingeterminada, TortoiseGit usa el directory de inicio de Windows que normalmente se encuentra en c: \ Users y Cygwin usa sus propios directorys de inicio que se encuentran en [CYGWIN-INSTALL-PATH] \ home.

3) Configure AutoCrLf, esto es necesario ya que TortoiseGit y Cygwin Git tienen diferentes valores pnetworkingeterminados. El valor pnetworkingeterminado en Cygwin Git es verdadero.

4) Vaya a TortoiseGit en la sección llamada "Configuración avanzada" y configure CygwinHack en true para activar las soluciones de cygwin.

5) Reiniciar.

Basado en https://tortoisegit.org/docs/tortoisegit/tgit-dug-settings.html

Tuve el mismo problema (decidí usar git instalado bajo cygwin en lugar del de msysgit). Lo mismo: pude comprometerme desde la command-line, y también pude ver los indicadores de modificación y ver los loggings en Tortoise, pero no pude confirmar a través de la GUI.

Lo que tenía que hacer era ajustar la configuration del grupo de mi proyecto y el ejecutable git. Desde un nivel sobre mi raíz de proyecto, ejecuté el siguiente command:

chgrp -R None my_project/ 

Entonces hice lo siguiente:

 cd /bin chgrp None git.exe 

Esto cambió el grupo del ejecutable git de lo que era ( root ) a None .

Tenga en count que es posible que no desee utilizar el grupo None . Mire / etc / passwd y mire el cuarto campo de la línea que comienza con su nombre de usuario (los campos están delimitados por dos puntos y el primer campo es su nombre de usuario) – ese cuarto campo es su identificación de grupo principal. Luego mira / etc / group y encuentra la línea que tiene el mismo ID de grupo que el tercer campo. Ese es el nombre del grupo que desea usar (en lugar de None ) en los commands anteriores.

Avísame si eso funciona para ti.

Este era un problema conocido conocido, pero está marcado como fijo ahora. Para más información, ver https://tortoisegit.org/issue/56 y está duplicado https://tortoisegit.org/issue/609 .

Intenté esas soluciones, pero no funcionaron para mí. Lo que funcionó fue mover todos los ejecutables relacionados con GIT en el directory cygwin a una subcarpeta que no estaba en mi path, luego instalé la última versión de GIT desde http://git-scm.com/ , agregué la location de ese GIT instalado. ejecutable en mi ruta, eliminé todas las instancias de Windows Explorer y bash windows, lancé una nueva instancia de Windows Explorer y luego pude realizar mi commit vía TortoiseGit. Actualmente (4 de marzo de 2014), la versión cygwin de GIT es 1.7.9, mientras que la última versión de http://git-scm.com/ es 1.9.0. Eso parece hacer la diferencia.

El problema "no se puede crear el nombre de file Sha1 temporal" se resolvió para mí por:

http://sofes.miximages.com/a/685422/431606

Simplemente ejecuté git repack (desde la command-line) en mi repository, y TortoiseGit pudo comprometerse inmediatamente.

(Todavía no puedo avanzar a través de TortoiseGit, ya que aparece el post de error "fatal: el extremo remoto colgó inesperadamente" como se describe en https://tortoisegit.org/issue/56 )

¿Has intentado reiniciar tu máquina? Tuve algunos problemas con una installation de Tortoise una vez, pero eso resolvió el problema.