svn + ssh con session de masilla, no funciona en cygwin

Así que accedo a mi repository de SVN usando el buen truco de nombre de la session de masilla. Puedo usar TortoiseSVN y Subclipse muy bien, el formatting de URL se ve así:

svn + ssh: // @ / data / svn / my-code

Ejemplo: svn + ssh: // codecraig @ dev-server / data / svn / my-code

Por lo tanto, he comprobado "my-code" en C: \ my-code, ahora estoy tratando de usar cygwin para registrar algunos cambios.

Abro cygwin, navego a c: \ my-code. Ejecuto el "estado de svn" y me muestra los cambios que tengo. Luego corro:

svn ci -m "hizo algunos cambios"

Y vuelvo:

ssh: No se pudo resolver el nombre del server dev-server: no hay una dirección asociada con el nombre svn: Error al confirmar svn: la connection se cerró inesperadamente

¿Cómo puedo informarle a cygwin sobre mis sesiones de masilla, suponiendo que ese es el problema aquí?

Utilice el cliente svn de Windows, no el de cygwin si también utiliza otros clientes svn. Esos no son compatibles. Si solo usas el cliente cygwin, está bien. Pero nunca debe compartir una copy de trabajo que utilice con el cliente cygwin con otros clientes. Eso te meterá en un gran problema, tal vez no de inmediato, pero lo hará, créeme.

Una razón (obvia): el cliente svn de cygwin usa terminaciones de línea LF (si el estilo svn: eol se establece como 'nativo') pero los clientes svn de Windows normales usan CRLF.

Hay otras razones por las que te meterás en grandes problemas con esto, pero esas son más complicadas y requieren el conocimiento de los internos svn para comprender.

Como tengo una variable de entorno, SVN_SSH, definida en Windows para que Subclipse (un plugin Eclipse SVN) funcione correctamente con mi connection svn + ssh, tuve que modificar mi perfil en Cygwin para exportar las var. SVN_SSH explícitamente.

exportar SVN_SSH = / cygdrive / c / putty / PLINK.exe svn co svn + ssh: // codecraig @ dev-server / data / svn / ….

Intenta editar tu file de configuration ssh para include lo siguiente:

 ssh=plink.exe 

(Si Plink.exe de PuTTY no está en su ruta, puede que tenga que especificar una ruta completa).

Ver también esta input de blog para escenarios más complejos.