2010-07-22 22 views
0

J'ai une branche Subversion récupérée en utilisant TortoiseSVN dans Windows. J'ai un fichier, appelez-le myfile.txt, que je veux renommer, disons à mynewfile.txt. Cependant, je souhaite conserver mon fichier myfile.txt et revenir à une révision précédente, par exemple r15. Donc, je veux que myfile.txt ait du contenu provenant de r15 et de mynewfile.txt pour avoir le contenu de myfile.txt de rHEAD. J'espérais pouvoir le faire avec les commandes Subversion pour que l'historique du fichier soit préservé. De cette façon, quand je commets ceci et que vous regardez les modifications, vous pouvez voir que mynewfile.txt n'est qu'un renommé de myfile.txt, et myfile.txt a maintenant son ancien contenu de r15. Est-ce possible? Devrais-je juste renommer myfile.txt -> mynewfile.txt, puis refaire myfile.txt, en y copiant manuellement le contenu de r15?renommer le fichier et remplacer l'ancien nom de fichier par le fichier de la révision précédente dans Subversion

Répondre

4
svn cp myfile.txt mynewfile.txt 
svn co -r15 myfile.txt 
svn commit 

Je crois que cela permettrait de préserver l'histoire que vous souhaitez.

EDIT: TortoiseSVN, ne s'est pas rendu compte! De nouvelles étapes:

  1. Ouvrez le navigateur de prise en pension et un clic droit sur votre myfile.txt
  2. Sélectionnez « Copier ... » et choisissez mynewfile.txt comme le nouveau nom.
  3. Faites un clic droit myfile.txt dans une sortie vérifiée copie et choisissez « Mise à jour à la révision » et sélectionnez 15.
  4. COMMIT.
+1

@Sarah Vessels Vous devez installer le client en ligne de commande (qui doit être la même version svn que tortoisesvn) lorsque vous voulez utiliser la ligne de commande. Ils ne sont pas inclus dans TSVN. – Rudi

1

Vous avez besoin d'une deuxième copie de travail à l'ancienne révision (il suffit de copier le répertoire et de mettre à jour le fichier unique uniquement). Ensuite, vous devez effectuer les étapes suivantes:

  • Dans la copie de travail HEAD Choisissez rename dans le menu contextuel de svn pour renommer le fichier
  • aller à la copie de travail OLD et faites glisser le fichier source pour la copie de travail HEAD avec le bouton droit de la souris
  • a choisi svn copy versioned items here dans le menu qui apparaît
  • commettras (assurez-vous que l'état du texte dit « remplacé (+) » pour l'ancien fichier et « ajouté (+) » pour le nouveau fichier)