2012-05-15 12 views
16

Soy nuevo en Sourceforge y SVN (SilkSVN en Windows).SVN + SSH y Sourceforge

me las arreglé para obtener un proyecto utilizando

svn co --username=zeroth123 svn://[email protected]/p/stddecimal/code/trunk stddecimal-code 

Sin embargo, cada vez que intento y utilizar SSH (para que pueda comprobar en, por ejemplo) falla con

> svn co --username=zeroth123 svn+ssh://[email protected]/p/stddecimal/code/trunk stddecimal-code 
svn: E720087: Unable to connect to a repository at URL 'svn+ssh://[email protected]/p/stddecimal/code/trunk' 
svn: E720087: Can't create tunnel: The parameter is incorrect. 

tengo configure SVN_SSH para apuntar a mi plink.exe completamente calificado y no hace la diferencia. También traté de cambiarlo a junk.exe y no obtuve nada diferente, así que no creo que estemos siquiera mirando SVN_SSH, que agota todos los consejos que he podido encontrar en Sourceforge y otros foros.

Para el registro yo soy el administrador del proyecto y por lo tanto tener permisos de escritura (o al menos creo que sí!)

¿Alguna idea?

+0

Por favor, asegúrese de publicar la solución si la encuentra. –

Respuesta

21

`% SVN_SSH% debe establecerse correctamente y una clave SSH debe estar registrada en Sourceforge.

Tenga en cuenta que los nuevos proyectos de Sourceforge son versión 2.0 de forma predeterminada, mientras que el 99% de la documentación de Sourceforge es para la versión 1.0 y parece obsoleto.

Estas instrucciones se supone que tiene SVN e instalado las herramientas PuTTY, y que se puede acceder con éxito su proyecto utilizando un protocolo no seguro, por ejemplo, el comando de sólo lectura svn checkout svn://[email protected]/p/PROJECT/code/trunk PROJECT-code estilo debe trabajar.

Estas instrucciones explican cómo hacer lo mismo con svn checkout svn+ssh://... que se necesita para escribir el acceso a Sourceforge.

  1. Conjunto %SVN_SSH% a la ruta completa de su cliente SSH. P.ej. setx SVN_SSH "C:/Program Files (x86)/PuTTY/plink.exe"

    • svn espera barras diagonales o dobles copias de barras en el camino
    • puede que tenga que abrir de nuevo una ventana cmd
    • prueba escribiendo %SVN_SSH% en el símbolo y confirmar obtiene sus programas ssh ayudan pantalla (o el comportamiento que espera que se ejecute sin argumentos)
  2. (¿Opcional?) Guarde en caché la clave RSA del servidor. Abra PuTTY, inicie sesión en svn.code.sf.net (o cualquiera que sea el servidor de su proyecto). Aparecerá un mensaje que le preguntará si desea guardar en caché la clave RSA del servidor - haga clic en Sí.

    • Es posible que no tenga que hacer esto, de lo contrario, cuando use SVN para conectar su proyecto por primera vez, se le hará la misma pregunta. Tipo y.
    • Sin embargo, lo hice porque pensé que el mensaje interactivo podría ser parte del problema.
  3. Crea una clave pública/privada y registra la clave pública con Sourceforge.

    • En la creación de una clave, más información here por ejemplo.
    • Si usa PuTTY, use PuTTYgen para crear la clave, y asegúrese de que la clave privada esté cargada en pageant. Irónicamente Launchpad tiene excelentes instrucciones.
    • La clave pública se puede registrar en Sourceforge navegando al Home > Account > Services y haciendo clic en Edit SSH Keys for Shell/CVS.
  4. ¡Ahora debería funcionar un proceso de pago utilizando el protocolo svn+ssh!

+1

Tenga en cuenta que el nombre de la variable es% SVN_SSH% (y no% SSH_SVN%, como se indica en 1.) –

+1

Un par de cosas: una, probé muchas cosas antes de llegar a este sitio, por lo que parece que es importante que 'appdata/subversion/config' no tiene nada debajo del túnel ssh. Además, no sé qué es 'paegent', ¡pero' pageant' funcionó para mí!(Después de muchos minutos de golpear mi cabeza contra la pared tratando de descubrir por qué esto no funciona.) –

9

Seguí las instrucciones here y funcionó. Es un método más rápido que no requiere la posibilidad de subir llaves, etc

  1. Descarga plink.exe de http://the.earth.li/~sgtatham/putty/latest/x86/plink.exe
  2. Coloque el plink.exe en sus ventanas directorio de instalación (%windir%)
  3. abra el siguiente archivo con Notepad %APPDATA%\Subversion\config
  4. Agregue o reemplace la siguiente línea en la sección [tunnels] (reemplace el inicio de sesión y pwd con su nombre de usuario y contraseña de sourceforge)

    ssh = c:\\windows\\plink.exe -batch -l <LOGIN> -pw <PWD> 
    

    (nótese el doble barra invertida)

  5. Guardar y cerrar el archivo
+1

O use barras diagonales. – 0xC0000022L

0

Para mí el problema era que la tortuga se instaló inicialmente en la unidad D. Lo desinstalé y reinstalé en C sin cambiar la configuración relacionada. La solución fue copiar la carpeta TortoiseSVN de la unidad C a su ubicación original en la unidad D.

-1

Para cualquiera (como yo) que trabaje con Tortoise SVN que lo tiene trabajando para Tortoise SVN pero necesita acceso de línea de comandos para un análisis más simple ... y no quiere pasar por el faff de registrar una clave SSH.

  1. Copiar el valor que está utilizando en la tortuga - Configuración - Red - Cliente SSH (el mío tiene nombre de usuario, los argumentos de contraseña)
  2. Editar la línea de comandos configuraciones de línea de ssh en% APPDATA% \ Subversion \ config según el Responda arriba para usar la línea que copió de Tortoise

De esta manera, puede usar Tortoise Plink.exe con argumentos para nombre de usuario y contraseña.