Problemas de permissions de Cygwin + git al intentar crear un post de confirmación

Cuando bash enviar la primera revisión a mi repository de git (commit de git) de Cygwin, recibo un error en gvim que dice "No se puede abrir el file de intercambio para" foo \ .git \ COMMIT_EDITMSG "[Directorio nuevo]. Creo que podría ser algún tipo de problema de permiso, pero he intentado eliminar el indicador de solo lectura de la carpeta, así como ajustar de forma recursiva al propietario (usando la pestaña de properties de Windows, no chown en Cygwin) para que sea la count que ' Estoy corriendo, sin suerte. Si cambio el editor pnetworkingeterminado al bloc de notas, aparece "El sistema no puede encontrar el file especificado", aunque el file (COMMIT_EDITMSG) existe e incluso contiene:

# Please enter the commit message for your changes. # (Comment lines starting with '#' will not be included) # etc... 

¿Cómo puedo solucionar este problema más?

No se puede abrir el file de intercambio para "foo \ .git \ COMMIT_EDITMSG" [Directorio nuevo].

Parece que la git commit pasa la ruta del file como una ruta de Windows, no una ruta de acceso POSIX. observe el \ en el post.

gvim intentará abrir `foo.gitCOMMIT_EDITMSG", que no existe.

No uso git , pero me imagino que utiliza un entorno var similar al SVN_EDITOR . Es posible que deba envolver la session de edición con un pequeño script que use cygpath para cambiar la ruta del file de Windows a los separadores de Posix.

 #!/bin/bash gvim "$(cygpath --unix "${1}")" 

Caveat Emptor, no probado.

Me enfrenté al mismo problema la primera vez, pero descubrí que esto es normal. Solo que no recuerdo cómo lidiar con Vim. Encontré la solución en ese enlace: http://vim.runpaint.org/basics/quitting-vim/ . Usé el command vim: x que resultó en save mi comentario y confirmar la modificación. Puede leer sobre esta integración entre Git y Vim a través de este enlace: http://vim.runpaint.org/extending/integrating-vim-with-git/ .

Está utilizando mingw o msysgit git en cygwin ( Windows nativo ). Esto no funcionará cuando se usa un editor de cygwin (gvim). El \ no es un separador de ruta en POSIX, sino que escapa al siguiente caracter.

Necesita instalar el package cygwin git o usar un editor mingw / msysgit apropiado.

También podría ser que mingw git.exe esté en la RUTA antes de / usr / bin. Arregla tu RUTA entonces.

Tales preguntas generalmente se manejan a través de http://cygwin.com/problems.html , esp. cygcheck -s -v -r> cygcheck.out en la list de correo. Entonces podríamos ver más.

Para `cygpath ', intente:

cygdrive -a -m COMMIT_EDITMSG

Posiblemente quieras la ruta en el siguiente estilo:

D:/path/to/your/working_directory/.git/COMMIT_EDITMSG