tag - tortoise svn local
Usando TortoiseSVN a través de la línea de comando (13)
Quiero usar las opciones de línea de comandos SVN. Utilizo TortoiseSVN, ejecuto 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?
Como Joey señaló, TortoiseSVN tiene su propia sintaxis de línea de comandos. Desafortunadamente, es bastante feo, si está acostumbrado a los comandos svn
, e ignora el directorio de trabajo actual, por lo que no es muy útil, excepto para las secuencias de comandos.
He creado un pequeño programa Python ( tsvn
) que imita la sintaxis de la línea de comandos de svn
más cerca posible y llama a TortoiseSVN en consecuencia. Por lo tanto, la diferencia entre llamar a las herramientas normales de la línea de comando y llamar a TortoiseSVN se reduce a una pequeña letra t
al principio.
Mi programa tsvn
aún no está completo pero ya es útil. Se puede encontrar en el cheeseshop ( https://pypi.python.org/pypi/tsvn/ )
De forma predeterminada, TortoiseSVN siempre tiene una GUI (Interfaz gráfica de usuario) asociada. Pero en el instalador (de la versión 1.7 y posterior) puede seleccionar la opción "herramientas de línea de comandos del cliente" para que pueda llamar a comandos svn (como svn commit y svn update) desde la línea de comandos.
Aquí hay una captura de pantalla de la opción "herramientas de línea de comandos del cliente" en el instalador, debe asegurarse de seleccionarla:
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%
Después de seleccionar "Herramientas de línea de comando SVN", se volverá así:
En caso de que ya haya instalado la GUI de TortoiseSVN y se pregunte cómo actualizar a las herramientas de la línea de comandos, aquí están los pasos ...
- Vaya al Panel de control de Windows → Programa y características (Windows 7+)
- Localice TortoiseSVN y haga clic en él.
- Seleccione "Cambiar" de las opciones disponibles.
Consulte esta imagen para más pasos.
Después de completar las herramientas cliente de la línea de comandos, abra un símbolo del sistema y escriba
svn help
para verificar la instalación exitosa.
Existe una confusión que está causando que muchos usuarios de TortoiseSVN utilicen las herramientas de línea de comando incorrectas cuando en realidad estaban buscando el cliente de línea de comando svn.exe
.
¿Qué debo hacer o no puedo usar TortoiseSVN desde la línea de comandos?
svn.exe
Si desea ejecutar los comandos de Subversion desde el símbolo del sistema, debe ejecutar el cliente de línea de comandos svn.exe
. TortoiseSVN 1.6.xy versiones anteriores no incluían herramientas de línea de comandos SVN, pero sí versiones modernas.
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 https://www.visualsvn.com/downloads/ .
Si tiene herramientas de línea de comandos SVN instaladas en su sistema, pero sigue recibiendo el error, ''svn'' is not recognized as an internal or external command
, debe verificar la variable de entorno %PATH%
. %PATH%
debe incluir la ruta al directorio de herramientas SVN, por ejemplo, C:/Program Files (x86)/VisualSVN/bin
.
TortoiseProc.exe
Además 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 utilizar esta herramienta, ya que solo debe usarse para la automatización de GUI. TortoiseProc.exe
no reemplaza al cliente de línea de comandos SVN.
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 obtener 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.
Mi solución para obtener los comandos SVN fue copiar los archivos .exe y .dll del directorio TortoiseSVN y pegarlos en la carpeta system32.
También puede ejecutar el comando desde el directorio TortoiseSVN y agregar la ruta del directorio de trabajo a cada comando. Por ejemplo:
C:/Program Files/TortoiseSVN/bin> svn st -v C:/checkout
Agregar el contenedor a la ruta debería hacer que funcione sin duplicar los archivos, pero no funcionó para mí.
Para habilitar nuevamente la ejecución del programa de instalación TortoiseSVN, seleccione "Modificar" (permite a los usuarios cambiar la forma en que se instalan las funciones) e instale "herramientas de cliente de la línea de comandos".
Para usar el soporte de comandos debes seguir estos pasos:
Definir ruta en variables de entorno:
- abrir '' Propiedades del sistema '';
- En la pestaña '' Avanzado '' haga clic en el botón '' Variables de entorno ''
- en la sección '' Variables del sistema '', seleccione la opción '' Ruta '' y haga clic en '' editar ''
agregue el valor de la variable con la ruta al archivo TortoiseProc.exe , por ejemplo:
C: / Archivos de programa / TortoiseSVN / bin
Como se ha registrado en TortoiseProc , puede usarlo de acuerdo con la documentación de TortoiseSVN.
Ejemplos:
TortoiseProc.exe / command: commit /path:"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
PS Para usar un nombre descriptivo como ''svn'' en lugar de ''TortoiseProc'', coloque el archivo ''svn.bat'' en el directorio de ''TortoiseProc.exe''. Hay un ejemplo de svn.bat:
TortoiseProc.exe %1 %2 %3
Puede tener TortoiseSVN y las herramientas de línea de comandos de Apache Subversion instaladas. Normalmente instalo las herramientas de Apache SVN desde el sitio de descarga de VisualSVN: https://www.visualsvn.com/downloads/
Una vez instalado, coloque Subversion / bin en su set PATH. Entonces podrá usar TortoiseSVN cuando desee usar la GUI, y tiene las herramientas de línea de comandos SVN adecuadas para usar desde la línea de comandos.
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 versión 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 para trabajar aquí es TortoiseProc.exe
.
Pero una nota bastante en la parte superior ya dice:
Recuerde que TortoiseSVN es un cliente GUI, y esta guía de automatización le muestra cómo hacer que los diálogos de TortoiseSVN aparezcan para recopilar información del usuario. Si desea escribir una secuencia de comandos que no requiere ninguna entrada, debe utilizar el cliente de línea de comandos oficial de Subversion.
Otra opción sería que instales 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.
Ya tenía instaladas las herramientas de la línea de comandos, pero aún no podía corregir este error.
- Reinicié Android Studio, pero no resolví mi problema.
Luego me di cuenta de que después de instalar SVN no había reiniciado la PC, y ese era el problema principal.