J'ai un fichier SVN qui manque maintenant de logique et je dois donc revenir environ 40 révisions à l'époque où il avait la logique dont j'ai besoin. À part essayer d'afficher un diff du fichier dans la ligne de commande ( très difficile à lire ), y a-t-il un moyen d'obtenir une copie de ce fichier à examiner afin que je puisse l'étudier pour en récupérer des parties?
156
svn cat -r 666 file | less
est parfait pour que je puisse le lire avec vim!svn cat | vim -
. Si la coloration syntaxique de vim ne démarre pas automatiquement, faites-le:set syntax=java
(ou dans la langue choisie).vim +set\ ft=<FILETYPE> <( svn cat -r <REV> <FILE> )
Il est également intéressant de comparer le fichier de la révision de travail courante avec le même fichier d'une autre révision.
Vous pouvez faire comme suit:
la source
Mettre à jour vers une révision spécifique:
la source
Je pense que la meilleure façon d'afficher les révisions est d'utiliser un programme / une 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 très facilement sur vos révisions.
Il peut être un peu exagéré de configurer cela pour une révision spécifique que vous souhaitez vérifier, mais cela pourrait être utile si vous comptez faire beaucoup cela à l'avenir.
la source
En utilisant les dernières versions de Subclipse , vous pouvez réellement les afficher sans utiliser l'invite cmd. Sur le fichier, cliquez simplement avec le bouton droit de la souris => Équipe => Passer à 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.
la source
Pour répondre directement à la question de savoir comment "obtenir une copie de ce fichier":
alors vous pouvez voir le nouvellement créé
file_r666
avec n'importe quel visualiseur ou programme de comparaison, par exemplemontre bien les différences.
J'ai posté la réponse parce que les commandes de la réponse acceptée ne donnent en fait pas de copie du fichier et parce
svn cat -r 666 file | vim
que ne fonctionne pas avec mon système (Vim: Error reading input, exiting...
)la source