¿Cómo pagar una revisión específica de Subversion desde la línea de comando?

364

Quiero verificar una revisión específica de una carpeta en Subversion usando la línea de comando.

No veo una opción para especificar el número de revisión en TortoiseProc.exe,

TortoiseProc.exe /command:checkout <url>

¿Cómo obtengo la revisión que quiero? ¿Es TortoiseProc.exela herramienta adecuada para lo que quiero hacer?

Ciro Santilli 郝海东 冠状 病 六四 事件 法轮功
fuente

Respuestas:

469

Si ya lo tiene desprotegido localmente, puede cdir a donde está desprotegido, luego use esta sintaxis:

$ svn up -rXXXX

ref: Verifique una revisión específica de subversion desde la línea de comando

rogerdpack
fuente
Por alguna razón, esto no hace nada por mí. Todavía en la vieja revisión.
IgorGanapolsky
2
@IgorGanapolsky ¿Ha modificado localmente el archivo que está tratando de actualizar?
¿Cómo se realiza el restablecimiento completo? (¿Ignorando los conflictos?)
Dilip Raj Baral
313

Ya sea

svn checkout url://repository/path@1234

o

svn checkout -r 1234 url://repository/path
pix0r
fuente
3
Tuve que quitar espacio después de -r, así que "-r1234" funcionó para mí.
Elijah Lofgren
257

¿Alguna razón para usar TortoiseProc en lugar de solo la línea de comando svn normal?

Yo usaría:

svn checkout svn://somepath@1234 working-directory

(para obtener la revisión 1234)

Jon Skeet
fuente
36

¡Nunca debe usar TortoiseProc.exe como cliente de Subversion de línea de comandos! TortoiseProc solo debe utilizarse para automatizar la GUI de TortoiseSVN. Vea la nota en el Manual de TortoiseSVN :

Recuerde que TortoiseSVN es un cliente GUI, y esta guía de automatización le muestra cómo hacer que los cuadros de diálogo de TortoiseSVN aparezcan para recopilar las entradas del usuario. Si desea escribir un script que no requiera entrada, debe usar el cliente oficial de línea de comando de Subversion.

Utilice el cliente de la línea de comandos Subversion svn.exe . Con el cliente de línea de comandos, puede

Puede notar eso con svn checkouty svn exportpuede ingresar el número REV como --revision REVargumento y como seguimiento @REVdespués de la URL. El primero se llama revisión operativa, y el segundo se llama revisión de clavijas. Lea SVNBook para obtener más información sobre la clavija y el concepto de revisiones operativas .

bahrep
fuente
8

svn checkout para revisar dónde está su repositorio en otro servidor

Use el svn logcomando para averiguar qué revisiones están disponibles:

svn log

Que imprime:

------------------------------------------------------------------------
r762 | machines | 2012-12-02 13:00:16 -0500 (Sun, 02 Dec 2012) | 2 lines

------------------------------------------------------------------------
r761 | machines | 2012-12-02 12:59:40 -0500 (Sun, 02 Dec 2012) | 2 lines

Tenga en cuenta el número r761. Aquí está la descripción del comando:

svn export http://url-to-your-file@761 /tmp/filename

Usé este comando específicamente:

svn export svn+ssh://[email protected]/home1/oct/calc/calcFeatures.m@761 calcFeatures.m

Lo que hace que calcFeatures.m revisión 761 se desproteja en el directorio actual.

Eric Leschinski
fuente
6

Creo que la sintaxis para esto es /rev:<revisionNumber>

La documentación para esto se puede encontrar aquí

Stuart Thompson
fuente
3

Tu podrías intentar

TortoiseProc.exe /command:checkout /rev:1234

para obtener la revisión 1234.

No estoy 100% seguro de que la /revopción sea compatible checkout, pero se me ocurrió la idea de cierta documentación de TortoiseProc .

PAUSA del sistema
fuente
2

Parece que puedes usar el navegador del repositorio. Haga clic en el botón de revisión en la esquina superior derecha y cámbielo a la revisión que desee. Luego haga clic derecho en su archivo en el navegador y use 'Copiar a copia de trabajo ...' pero cambie el nombre de archivo que verificará, para evitar un choque.

usuario1240259
fuente
1

Tendrás que usar svn directamente:

svn checkout URL[@REV]... [PATH]

y

svn help co

te da un poco más de ayuda

Sebastian Dressler
fuente
2
Por lo que veo, creo que un ejemplo puede ayudar. ¿incluye o no incluye los corchetes? ¿Qué pasa con 3 períodos? ¿Qué pasa con el espacio después de los 3 períodos? ¿Qué caracteres son literales, cuáles son marcadores de posición y cuáles son caracteres agregados para los marcadores de posición?
ahnbizcad
0

Vaya a la carpeta y use el comando:

svn co {url}
jsduniya
fuente