Usando TortoiseSVN a través de la línea de comandos


Quiero usar las opciones SVN de la línea de comandos. Utilizo TortoiseSVN, y corro varios comandos y obtengo el siguiente error.

'svn' no se reconoce como un comando interno o externo

Usé el comando

svn checkout [-N] [--ignore-externals] [-r rev] URL PATH

Creo que debería agregar alguna variable de entorno o algo más.

¿Qué debo hacer o no puedo usar TortoiseSVN desde la línea de comandos?

Author: Peter Mortensen, 2009-10-26

13 answers

Por defecto TortoiseSVN siempre tiene asociada una GUI (Interfaz Gráfica de Usuario). Pero en el instalador (de la versión 1.7 y posterior) puede seleccionar la opción "command line client tools" para que pueda llamar a los comandos svn (como svn commit y svn update) desde la línea de comandos.

Aquí hay una captura de pantalla de la opción" command line client tools " en el instalador, debe asegurarse de seleccionarla:

How-to-install-TortoiseSvn-CommandLineTools

 397
Author: AnneTheAgile,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-06-28 01:01:49

TortoiseSVN tiene una interfaz de línea de comandos que se puede usar para la automatización de la GUI de TortoiseSVN y es diferente de la interfaz normal de Subversion.

Puede encontrar información sobre las opciones de línea de comandos de TortoiseSVN en la documentación: Apéndice D. Automatización de TortoiseSVN. El programa principal con el que trabajar aquí es TortoiseProc.exe.

Pero una nota más o menos en la parte superior ya dice:

Recuerde que TortoiseSVN es un cliente GUI, y esto automation guide le muestra cómo hacer que aparezcan los cuadros de diálogo de TortoiseSVN para recopilar la entrada del usuario. Si desea escribir un script que no requiere entrada, debe usar el cliente oficial de línea de comandos de Subversion en su lugar.

Otra opción sería instalar los binarios de Subversion. Slik SVN es una buena compilación (y no requiere un registro como Collabnet). Las versiones recientes de TortoiseSVN también incluyen el cliente de línea de comandos si decide instalarlo.

 125
Author: Joey,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-06-27 11:17:50

En caso de que ya haya instalado la GUI de TortoiseSVN y se pregunte cómo actualizar a las herramientas de línea de comandos, estos son los pasos...

  1. Vaya al Panel de control de Windows → Programa y Características (Windows 7+)
  2. Localice TortoiseSVN y haga clic en él.
  3. Seleccione "Cambiar" de las opciones disponibles.
  4. Consulte esta imagen para obtener más pasos.

    Línea de Comandos TortoiseSVN Activar

  5. Después de completar las herramientas de cliente de línea de comandos, abra un comando solicite y escriba svn help para comprobar que la instalación se ha realizado correctamente.

 63
Author: Devendra Vaja,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-09-06 21:13:03

Para usar command support debes seguir estos pasos:

  1. Definir Ruta en Variables de entorno:

    • abrir 'Propiedades del Sistema';
    • en la pestaña ' Advanced 'haga clic en el botón' Variables de entorno '
    • en la sección 'variables del Sistema' seleccione 'la Ruta' opción y haga clic en 'editar'
    • Añada el valor de la variable con la ruta a TortoiseProc.archivo exe, para ejemplo:

      C:\Program Files\TortoiseSVN \ bin

  2. Dado que ha registrado TortoiseProc, puede usarlo de acuerdo con la documentación de TortoiseSVN .

    Ejemplos:

    TortoiseProc.exe / comando: confirmar /ruta:"c:\svn_wc\file1.txt*c:\svn_wc\file2.txt" / logmsg: "mensaje de registro de prueba" / closeonend: 0

    TortoiseProc.exe /command:update /path:"c:\svn_wc\" / closeonend: 0

    TortoiseProc.exe /command:log /path:"c:\svn_wc\file1.txt" / startrev: 50 / endrev: 60 / closeonend:0

P.d. Para usar un nombre amigable como 'svn' en lugar de 'TortoiseProc', coloque 'svn.archivo bat' en el directorio de ' TortoiseProc.exe'. Hay un ejemplo de svn.mtd:

TortoiseProc.exe %1 %2 %3
 25
Author: Warlock,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-11-26 06:25:30

Para habilitar svn ejecute el programa de instalación TortoiseSVN de nuevo, seleccione "Modificar" (Permite a los usuarios cambiar la forma en que se instalan las características) e instale "herramientas de cliente de línea de comandos".

 8
Author: Kiki,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-07-02 09:10:13

Mi solución fue usar DOSKEY para configurar algunos alias para los comandos que más uso:

DOSKEY svc=TortoiseProc.exe /command:commit /path:.
DOSKEY svu=TortoiseProc.exe /command:update /path:.
DOSKEY svl=TortoiseProc.exe /command:log /path:.
DOSKEY svd=TortoiseProc.exe /command:diff /path:$*

Google "doskey persist" para consejos sobre cómo configurar un .archivo cmd que se ejecuta cada vez que abre el símbolo del sistema como un .* archivo rc en Unix.

 8
Author: SeanH,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-12-02 21:38:50

Puede tener instaladas tanto TortoiseSVN como las herramientas de línea de comandos de Apache Subversion. Normalmente instalo las herramientas de Apache SVN desde el sitio de descargas de VisualSVN: https://www.visualsvn.com/downloads /

Una vez instalado, coloque Subversion\bin en su ruta establecida. Entonces podrá usar TortoiseSVN cuando desee usar la GUI, y tendrá las herramientas de línea de comandos SVN adecuadas para usar desde la línea de comandos.

 2
Author: David,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-11-17 05:25:09

Como Joey señaló, TortoiseSVN tiene una sintaxis de línea de comandos propia. Desafortunadamente es bastante feo, si está acostumbrado a los comandos svn, y ignora el directorio de trabajo actual, por lo que no es muy utilizable, excepto para scripting.

He creado un pequeño programa Python (tsvn) que imita la sintaxis de la línea de comandos svn lo más cerca posible y llama a TortoiseSVN en consecuencia. Por lo tanto, la diferencia entre llamar a las herramientas normales de línea de comandos y llamar a TortoiseSVN es reducido a una pequeña letra t al principio.

Mi tsvn programa aún no está completo, pero ya es útil. Se puede encontrar en la tienda de quesos ( https://pypi.python.org/pypi/tsvn/)

 1
Author: Tobias,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-06-28 07:50:37

Después de algún tiempo, utilicé esta solución...

(en el .archivo bat)

SET "CHECKOUT=http://yoururl.url";
SET "PATH=your_folder_path"

start "C:\Program Files\TortoiseSVN\bin" svn.exe checkout %CHECKOUT% %PATH%
 1
Author: jorgesimoes,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-09-06 21:09:19

Mi solución para obtener comandos SVN era copiar .exe y .archivos dll del directorio TortoiseSVN y pegarlos en la carpeta system32.

También puede ejecutar el comando desde el directorio TortoiseSVN y añadir la ruta del directorio de trabajo a cada comando. Por ejemplo:

C:\Program Files\TortoiseSVN\bin> svn st -v C:\checkout

Agregar la papelera a la ruta debería hacer que funcione sin duplicar los archivos, pero no funcionó para mí.

 1
Author: KC an EE,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-09-06 21:11:20

Existe una confusión que está causando que muchos usuarios de TortoiseSVN usen las herramientas de línea de comandos incorrectas cuando realmente estaban buscando un cliente de línea de comandos svn.exe.*

¿Qué debo hacer o no puedo usar TortoiseSVN desde la línea de comandos?

Svn.exe

Si desea ejecutar comandos de Subversion desde el símbolo del sistema, debe ejecutar svn.exe cliente de línea de comandos. TortoiseSVN 1.6.x y versiones anteriores no incluían la línea de comandos SVN herramientas, pero las versiones modernas sí.

Si desea obtener las herramientas de línea de comandos de SVN sin tener que instalar TortoiseSVN, consulte la página de distribuciones binarias de SVN o simplemente descargue la última versión desde la página de descargas de VisualSVN.

Si tiene SVN command line tools instalado en su sistema, pero todavía obtiene el error 'svn' is not recognized as an internal or external command, debe marcar la variable de entorno %PATH%. %PATH% debe incluir la ruta al directorio SVN tools e. g. C:\Program Files (x86)\VisualSVN\bin.

TortoiseProc.exe

Aparte de svn.exe, TortoiseSVN viene con TortoiseProc.exe que se puede llamar desde el símbolo del sistema. En la mayoría de los casos, no necesita usar esta herramienta, porque solo debe usarse para la automatización de la interfaz gráfica de usuario. TortoiseProc.exe no es un reemplazo para el cliente de línea de comandos SVN.

 1
Author: bahrep,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-09-06 21:15:40

Después de seleccionar "SVN command line tools" se volverá así:

Introduzca la descripción de la imagen aquí

 0
Author: Alvin567,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-10-30 14:19:46

Ya tenía las herramientas de línea de comandos instaladas, pero aún así no pude corregir este error.

  • Reinicié Android Studio, pero no resolvió mi problema

Entonces me di cuenta de que después de instalar SVN no había reiniciado el PC, y ese era el problema principal.

 -1
Author: UMAR,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-09-06 21:14:00