2010-11-18 30 views
131

Tengo un archivo SVN que ahora no tiene lógica, así que tengo que retroceder unas 40 revisiones a la hora en que tenía la lógica que necesitaba. Aparte de tratar de ver un diff del archivo en la línea de comando (muy difícil de leer) ¿de todos modos podría obtener una copia de ese archivo para revisarlo y así poder estudiarlo para recuperar partes?¿Cómo veo una versión anterior de un archivo SVN?

Respuesta

204

Puede actualizar a una revisión anterior:

svn update -r 666 file 

O simplemente puede ver el archivo directamente:

svn cat -r 666 file | less 
+12

'svn cat -r archivo 666 | less' es perfecto, así que puedo leerlo con vim! – Xeoncross

+4

@sillyMunky Pruebe 'svn cat | vim -'. Si el resaltado de sintaxis de vim no se activa automáticamente, haga ': set syntax = java' (o cualquier idioma). –

+1

Muchas gracias John, en realidad estoy en Debian y encontré que hay un pequeño y simpático paquete de resaltado de sintaxis llamado 'fuente-resaltado' para que menos pueda recoger automágicamente el resaltado de sintaxis (de hecho, ahora alía esto a lesss para distinguirlo). – sillyMunky

2

actualización a una revisión específica:

svn up -r1234 file 
1

creo La mejor manera de ver las revisiones es usar un programa/aplicación que lo haga más fácil. Me gusta usar trac: http://trac.edgewall.org/wiki/TracSubversion

Proporciona un gran navegador svn y hace que sea muy fácil volver a revisar sus revisiones.

Puede ser un poco exagerado configurar esto para una revisión específica que quiera verificar, pero podría ser útil si va a hacer esto mucho en el futuro.

+1

Sugeriría RapidSvn – Strae

1

Utilizando las últimas versiones de Subclipse, puede verlas sin usar el indicador cmd. En el archivo, simplemente haga clic derecho => Equipo => Cambie a otra rama/etiqueta/revisión. Además del campo de revisión, haga clic en seleccionar y verá todas las versiones de ese archivo.

4

También es interesante comparar el archivo de la revisión de trabajo actual con el mismo archivo de otra revisión.

Se puede hacer de la siguiente manera:

$ svn diff -r34 file 
Cuestiones relacionadas