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
0
A
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:
- Ouvrez le navigateur de prise en pension et un clic droit sur votre myfile.txt
- Sélectionnez « Copier ... » et choisissez
mynewfile.txt
comme le nouveau nom. - Faites un clic droit myfile.txt dans une sortie vérifiée copie et choisissez « Mise à jour à la révision » et sélectionnez 15.
- COMMIT.
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)
@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