Comment puis-je obtenir une copie de toutes les versions d'un fichier à partir du dépôt de la subversion?

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

  •  27-10-2019
  •  | 
  •  

Question

Nous avons une police personnalisée (TTF) que nous avons ajouté à un dépôt subversion. Nous avons détecté un problème avec certains caractères et ne savons pas quand le problème a été introduit. Le fichier est bien sûr un fichier binaire, donc il n'y a pas de différences de texte à comparer, nous avons juste besoin contenons avec les autres fichiers du projet et la version elle. Quoi qu'il en soit, je voudrais récupérer toutes les versions du fichier à partir du référentiel. J'ai accès à TortoiseSVN (pour Windows) et Cornerstone (pour Mac); Cependant, je suis aussi à l'aise avec le terminal. Comment puis-je récupérer un fichier TTF pour chaque version de la police qui a obtenu vérifié dans la subversion?

Était-ce utile?

La solution

Ceci est un peu brut et je suis sûr qu'il ya des solutions beaucoup plus élégantes là-bas, mais il fait le travail. Set GRAB_FILE et GRAB_FROM_REV de façon appropriée.

$ 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

Autres conseils

Si vous utilisez TortoiseSVN, vous pouvez obtenir ce très simple:

Afficher le journal pour le fichier de police. Vous verrez une liste de révisions où ce fichier particulier a été changé. Faites un clic droit sur l'une de ces révisions, puis juste choisir « Enregistrer sous ... » dans le menu contextuel et vous obtiendrez le fichier tel qu'il était dans cette révision.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top