2010-10-03 11 views
5

Recientemente instalé Cygwin junto con los archivos binarios de Git y una copia de TortoiseGit en una nueva instalación de Windows XP. Parece que soy capaz de hacer la mayoría de las operaciones a través de Git TortoiseGit como la visualización de los registros, etc., pero cuando llego a cometer a través de TortoiseGit me sale este mensaje ...Cygwin y TortoiseGit

error: unable to create temporary sha1 filename : No such file or directory

soy capaz de comprometerse a través de la línea de comandos - ¡Simplemente no parece poder comprometerme a través de la interfaz de interfaz gráfica de usuario!

+0

tal vez usted sólo debe utilizar msysgit –

Respuesta

-1

Ha intentado reiniciar su máquina. Tuve algunos problemas con una instalación de Tortoise una vez, pero eso resolvió el problema.

1

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

Lo que tuve que hacer fue ajustar la configuración de grupo de mi proyecto y el ejecutable git. De un nivel por encima de mi raíz del proyecto, me encontré con el siguiente comando:

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 cuenta 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 observe/etc/group y busque 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 comandos anteriores.

Avísame si eso te funciona.

+0

No dude en aceptar esta respuesta si era útil. – Dave

+0

En mi caso, todo ya es Ninguno, así que esa no es la solución para mí. No estoy seguro de por qué tenía que hacer el chgrp, ¿tal vez instaló git como un usuario diferente? O tal vez no lo estoy viendo porque estoy en FAT (contra NTFS). – studgeek

0

El "incapaz de crear el nombre de archivo sha1 temporal" problema fue resuelto por mí:

https://stackoverflow.com/a/685422/431606

simplemente me encontré git repack (desde la línea de comandos) en mi repositorio, y TortoiseGit fue inmediatamente capaz de comprometerse .

(todavía no puedo empujar a través de TortoiseGit, como me sale el mensaje de error "fatal: El extremo remoto colgó inesperadamente" como se describe en https://tortoisegit.org/issue/56)

0

me trataron esas soluciones, pero no funcionó para mi. Lo que funcionó fue mover todos los ejecutables relacionados con GIT en el directorio cygwin a una subcarpeta que no estaba en mi camino, luego instalé la última versión de GIT en http://git-scm.com/, agregué la ubicación de ese ejecutable GIT instalado a mi ruta, eliminé todas las instancias de Windows Explorer & bash windows, lanzó una nueva instancia del Explorador de Windows y luego, pude confirmar a través de 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.

+0

¿Qué cosas en cygwin git no funcionan? – linquize

2

TortoiseGit está optimizado para Git para Windows.

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

Debe configurarlo de la siguiente manera en la configuración de TortoiseGit: abra el cuadro de diálogo de configuración de TortoiseGit y abra la página General.

1) Select the [CYGWIN-INSTALL-PATH]\bin-folder as git.exe folder.

2) Configure the HOME environment variable in Windows, so that Cygwin and TortoiseGit are using the same home directory and global git-config. Use the normal Windows notation here (e.g., "C:\Users\USERNAME"). By default, TortoiseGit uses the Windows home directory which is normally located under c:\Users and Cygwin uses its own home directories which are located under [CYGWIN-INSTALL-PATH]\home.

3) Configure AutoCrLf, this is necessary as TortoiseGit and Cygwin Git have different defaults. The default in Cygwin Git is true.

4) Go to TortoiseGit the section called “Advanced Settings” and set CygwinHack to true in order to activate cygwin workarounds.

5) Reboot.

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