web-dev-qa-db-fra.com

Comment visualiser une ancienne version d'un fichier SVN?

J'ai un fichier SVN qui manque maintenant d'une certaine logique et je dois donc revenir à environ 40 révisions au moment où il disposait de la logique dont j'avais besoin. Autre que d'essayer de voir un diff du fichier dans la ligne de commande ( très difficile à lire ), est-il possible d'obtenir une copie de ce fichier afin de pouvoir l'étudier afin de pouvoir l'étudier pour récupérer des pièces?

145
Xeoncross

Vous pouvez mettre à jour vers une version plus ancienne:

svn update -r 666 file

Ou vous pouvez simplement visualiser le fichier directement:

svn cat -r 666 file | less
225
John Kugelman

Il est également intéressant de comparer le fichier de la révision de travail actuelle avec le même fichier d’une autre révision. 

Vous pouvez faire comme suit:

$ svn diff -r34 file
4
Kreshnik

Mise à jour vers une révision spécifique:

svn up -r1234 file
2
chris

Je crois que le meilleur moyen d’afficher les révisions est d’utiliser un programme/application qui vous facilite la tâche. J'aime utiliser trac: http://trac.edgewall.org/wiki/TracSubversion

Il fournit un excellent navigateur svn et permet de revenir facilement à vos révisions.

Il peut être un peu excessif de configurer cela pour une révision spécifique que vous souhaitez vérifier, mais cela peut être utile si vous allez le faire beaucoup à l'avenir.

1
wajiw

En utilisant les dernières versions de Subclipse , vous pouvez les visualiser sans utiliser l’invite cmd. Sur le fichier, cliquez avec le bouton droit de la souris sur => Équipe => Basculer vers une autre branche/étiquette/révision Outre le champ de révision, vous cliquez sur Sélectionner et vous verrez toutes les versions de ce fichier.

1
Kheem

Pour répondre directement à la question "Comment obtenir une copie de ce fichier":

svn cat -r 666 file > file_r666

vous pouvez ensuite afficher le file_r666 nouvellement créé avec n’importe quel programme de visualisation ou de comparaison, par exemple.

kompare file_r666 file

montre bien les différences.

J'ai posté la réponse car les commandes de la réponse acceptée ne donnent en réalité pas de copie du fichier et parce que svn cat -r 666 file | vim ne fonctionne pas avec mon système (Vim: Error reading input, exiting...)

0
rehctawrats