2012-05-10 11 views
6

Me pregunto si alguien puede arrojar algo de información sobre por qué SmartGit no se está comportando cuando me conecto a nuestro servidor de control de fuente a través de SSH. GitBash se comporta bien.Configuración de la carpeta de inicio del cliente Git/SmartGit SSH

Antecedentes:

Tengo un servidor de control de origen establecido en la red, funcionando con msysgit WinSSH como el servidor SSH. Se engancha en AD para resolver nombres de usuario, etc., y he importado todas las claves públicas de RSA, etc. Todo funciona bien.

Una curva de bola para nosotros, es que a pesar de Git se instala en 'C: \ Archivos de programa (x86) \ Git' nuestro código fuente real se sienta en 'C: \ Git', que está respaldado hasta regularmente.

He configurado WinSSH para que todas las sesiones SSH tengan por defecto 'C: \ Git' como su carpeta de inicio, lo que funciona como un regalo. Cuando uso Git Bash para conectarme al servidor, el valor predeterminado es 'C: \ Git'. Perfecto.

Cuando llego SmartGit (usando SmartGit Cliente SSH) para conectar con el mismo servidor, la url:

ssh://<server>/<folder>/<repo> 

me sale un error diciendo que el camino ...

C:\Program Files (x86)\Git\<folder>\<repo> 

.. .no parece ser un repositorio. Bueno, sí ... Debería buscarlo en 'C: \ Git', no 'C: \ Archivos de programa (x86) \ Git'.

no estoy seguro de por qué no SmartGit lugar agradable con esta configuración, pero creo que la configuración por defecto WinSSH están siendo anuladas por su cliente SSH, ya que su especificación de todo el camino por completo de 'C: \ Archivos de programa (x86) \ Git '.

Mis preguntas:

Alguna idea donde SmartGit podría estar recibiendo el 'C: \ Archivos de programa (x86) \ Git' ruta de?

¿Es esta una variable que puedo establecer en alguna parte?

Más información (actualización)

La versión de SmartGit es 3.0.4, sin embargo, el problema también estaba presente en 2.x.

He adjuntado lo que (estoy bastante seguro) es una instancia de la falla en el registro de aplicación SmartGit:

1782732 (2012-05-10 12: 18: 56.653) [QThreadPoolThread-2 (smartgit.KL)] INFO smartgit.core.executable - Ejecutando el siguiente comando: "C: \ Archivos de programa \ Git \ bin \ git.exe" ls-remote ssh: //initio-dev01/INIT/INIT.Framework.git refs/heads/

1782732 (2012-05-10 12: 18: 56,653) [QThreadPoolThread-2 (smartgit.KL)] INFORMACIÓN smartgit.core.ejecutable - en el directorio: nula

1783049 (2012-05-10 12: 18: 56,970) - [QThreadPoolThread-8 (smartgit.aqT)] INFO smartgit.server instrucción recibida: ssh

1786438 (2012- 05-10 12: 19: 00,359) [QThreadPoolThread-6 (smartgit.cR)] INFO smartgit.command.logging - stderr: fatal: 'C:/Archivos de programa (x86) /Git/INIT/INIT.Framework.git' no parece ser un repositorio git

1786438 (2012-05-10 12: 19: 00,359) [QThreadPoolThread-6 (smartgit.cR)] INFORMACIÓN smartgit.core.command - fatal: 'C:/Archivos de programa (x86) /Git/INIT/INIT.Framework.git 'no parece ser un repositorio de git

1.786.439 (2012-05-10 12: 19: 00.360) [Thread-29] ERROR smartgit.ssh.trilead - com.trilead.ssh2.transport.TransportManager: Recibir hilo: error en receiveLoop: socket cerrado

1786763 (2012-05-10 12: 19: 00,684) [QThreadPoolThread-6 (smartgit.cR)] INFORMACIÓN smartgit.command.logging - stderr: fatal: el extremo remoto colgó inesperadamente

1786763 (2012-05- 10 12: 19: 00,684) [QThreadPoolThread-6 (smartgit.cR)] INFO smartgit.core.command - fatal: el extremo remoto colgó inesperadamente

1786772 (2012-05-10 12: 19: 00,693) [ QThreadPoolThread-2 (smartgit.KL)] WARN sg.command.ping - 'C:/Archivos de programa (x86)/Git/I NIT/INIT.Framework.git 'no parece ser un repositorio de git El extremo remoto colgó inesperadamente smartgit.cn:' C:/Archivos de programa (x86) /Git/INIT/INIT.Framework.git 'no parece ser un repositorio git el extremo remoto colgó inesperadamente

en smartgit.gG.a (SourceFile: 86)

en smartgit.ga.a (SourceFile: 63)

en smartgit.ga.a (SourceFile: 53)

en smartgit.hA.a (SourceFile: 57)

en smartgit.ahq.a (SourceFile: 26)

en smartgit.ahl.a (SourceFile: 39)

en smartgit.aL.a (SourceFile: 46)

en smartgit.aD.a (SourceFile: 41)

en smartgit.Kw.a (SourceFile: 144)

en smartgit.KL.run (SourceFile: 34)

en smartgit.Pp.run (SourceFile: 65)

+0

Lo exacta versión de SmartGit está usando? ¿Cuál es el mensaje de error/stacktrace correspondiente del archivo log.txt de SmartGit (en el directorio de configuración de SmartGit, consulte el cuadro de diálogo Acerca de)? – mstrap

+0

Gracias, no sabía acerca de ese archivo de registro. He actualizado la pregunta con un ejemplo del error. Desafortunadamente, no creo que arroje más luz ... Puede ver que ingresa a la dirección remota con la url SSH, pero intenta extraer de C: \ Archivos de programa (x86) \, pero eso es todo. – Martaver

+0

¿Git-ssh.log en el directorio de configuración de SmartGit contiene alguna información útil? Además, agregue la línea "log4j.category.smartgit.ssh.client = DEBUG" a logj4.properties y reinicie SmartGit. Esto dará más salida de depuración para la conexión SSH en log.txt. Vuelva a publicar las líneas relacionadas con "smartgit.ssh.client". – mstrap

Respuesta

1

muy molesto con la ruta de codificado, lo que podría parecer ser el problema aquí ?! Hasta que esto se solucione en una versión posterior, tal vez debería crear un punto de unión de directorio o un enlace simbólico. Podría ser una solución (rápida y sucia) en lugar de perder tiempo en arreglar el programa.

(se debe ejecutar en una cáscara de administrador)

Por punto de unión:

mklink /j "C:\Program Files (x86)\GIT\<folder>" C:\GIT\<folder> 

Para enlace simbólico:

mklink /d "C:\Program Files (x86)\GIT\<folder>" C:\GIT\<folder> 
+0

Genial, una idea fuera de la caja y lo consideré. Para mí, el factor decisivo fue que, tal como lo entiendo, un punto de unión redirigirá todo y no solo la sesión de git. – Martaver

Cuestiones relacionadas