¿Cómo obtengo una copia de todas las versiones de un archivo del repositorio de subversión?

StackOverflow https://stackoverflow.com/questions/5357137

  •  27-10-2019
  •  | 
  •  

Pregunta

Tenemos una fuente personalizada (TTF) que agregamos a un repositorio de subversión. Hemos detectado un problema con ciertos personajes y no estamos seguros de cuándo se introdujo el problema. El archivo es, por supuesto, un archivo binario, por lo que no hay diferencias de texto para comparar, solo necesitamos contenerlo con los otros archivos del proyecto y la versión. De todos modos, me gustaría recuperar todas las versiones del archivo del repositorio. Tengo acceso a TortoisSVN (para Windows) y Cornerstone (para Mac); Sin embargo, también me siento cómodo usando la terminal. ¿Cómo puedo recuperar un archivo TTF para cada versión de la fuente que se registró en la subversión?

¿Fue útil?

Solución

Esto es un poco crudo y estoy seguro de que hay soluciones mucho más elegantes, pero hace el trabajo. Establezca Grab_File y Grab_From_rev apropiadamente.

$ mkdir versions
$ GRAB_FILE="MGSource.h"
$ GRAB_FROM_REV=700
$ for i in `svn log -r$GRAB_FROM_REV:HEAD "$GRAB_FILE" | grep -o '^r[0123456789]*'`; do svn up "$GRAB_FILE" -$i; cp $GRAB_FILE versions/"$GRABFILE.$i.h"; done  

Updated to revision 768.
U    MGSource.h
Updated to revision 770.
U    MGSource.h
Updated to revision 804.
U    MGSource.h
Updated to revision 821.

$ ls -l versions/
total 56
-rw-r--r--  1 me    staff  1599 Mar 18 21:03 MGSource.r709.h
-rw-r--r--  1 me    staff  1705 Mar 18 21:03 MGSource.r759.h
-rw-r--r--  1 me    staff  1891 Mar 18 21:03 MGSource.r760.h
-rw-r--r--  1 me    staff  1882 Mar 18 21:03 MGSource.r768.h
-rw-r--r--  1 me    staff  2009 Mar 18 21:03 MGSource.r770.h
-rw-r--r--  1 me    staff  2009 Mar 18 21:03 MGSource.r804.h
-rw-r--r--  1 me    staff  1942 Mar 18 21:03 MGSource.r821.h

Otros consejos

Si está utilizando TortoisSVN, puede obtener esto muy fácil:

Muestre el registro para el archivo de fuente. Verá una lista de revisiones donde se cambió ese archivo en particular. Haga clic derecho en cualquiera de esas revisiones, solo elija "Guardar como ..." en el menú contextual y obtendrá el archivo como estaba en esa revisión.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top