2010-12-06 7 views
4

J'utilise VisualSVN et tortoise pour travailler avec un référentiel SVN. Quelqu'un avait besoin que certains dossiers soient déplacés d'un endroit vers un nouvel emplacement dans le même reposoir. Je ai gaffé cependant et juste copier/coller les anciens dossiers dans le nouvel emplacement (n'a pas obtenu l'historique des changements, etc). Depuis lors, ils ont mis à jour un tas de fichiers. Les anciens fichiers (de l'emplacement précédent) n'ont pas été supprimés ou quoi que ce soit. Est-il possible d'obtenir l'historique des modifications à partir des anciens fichiers et de l'associer au nouvel emplacement? Je devrais ajouter des numéros de révision, des messages de journal, etc.modifier SVN modifier le journal

Répondre

0

Non, vous ne pouvez pas. Ne pas suivre l'historique complet d'un fichier à travers déplace/renomme un échec connu de SVN. Si vous avez vraiment besoin de ce type de fonctionnalité, vous feriez mieux d'utiliser quelque chose comme git ou Mercurial.

Et oui, je suis conscient que de nombreuses fois la migration vers un nouveau VCS n'est pas vraiment une option. Malheureusement, cela signifie que lorsque vous vous heurtez à quelque chose comme ça, vous êtes bloqué.

+0

-1: La question n'indiquait pas qu'un svn move ou svn rename était utilisé. – jgifford25

+0

-1: Depuis quand le suivi de l'historique des fichiers n'est pas un échec connu de SVN? Peut-être que vous pensez à d'autres VCS? – Avi

+0

La question implique clairement que l'affiche "gaffé" en utilisant un copier/coller au lieu d'un svn move/svn renommer. Subversion est bien connu pour perdre l'historique des fichiers si un fichier est renommé ou déplacé par le système d'exploitation au lieu de passer par la commande Subversion correspondante. –

1

Vous pouvez revenir en arrière et recopier les anciens fichiers, d'abord vous n'aurez plus les changements associés aux nouveaux fichiers. Cependant, vous pouvez alors fusionner les changements.

Donc, oui, vous pouvez probablement obtenir ce que vous voulez en déplaçant ou en supprimant les nouveaux fichiers, puis en copiant les anciens fichiers (avec l'historique) dans le nouvel emplacement, puis en fusionnant les changements que vous voulez.