2010-01-19 4 views
3

Au travail, nous avons un très gros projet (environ 30 000 fichiers) géré par un système de contrôle de source Borland StarTeam. Nous aimerions migrer vers SVN, mais il y a quelques obstacles sur le chemin. Le plus important est le problème de l'installation du référentiel sur toutes les machines virtuelles des développeurs.Comment puis-je créer un versionnage SVN en plus d'un projet existant?

Il existe deux méthodes de base pour mettre en place un nouveau dossier SVN-versionnée sur votre disque dur. (Sous Windows, en utilisant TortoiseSVN.) Vous pouvez extraire un projet SVN à partir d'un référentiel, ou prendre du code existant et le télécharger dans un référentiel (vraisemblablement vide), et après une de ces opérations, vous obtenez une arborescence de dossiers avec SVN dossiers de métadonnées. Mais nous avons déjà quelques douzaines de développeurs qui ont déjà une copie complète du projet. Qu'est-ce que nous aimerions vraiment faire est de le télécharger une fois, puis exécutez une sorte de "Associer ce dossier existant avec l'opération de dépôt à [where] et les synchroniser".

pris en charge par ce SVN? Si oui, comment, et est-ce possible de le faire dans TortoiseSVN, ou a-t-il besoin d'autres outils?

Répondre

10

Ce qui devrait travailler fait un clic droit « checkout SVN ... » sur un dossier existant sur votre disque dur dont le contenu est identique au référentiel, vous êtes sur le point de vérifier. Chaque fichier trouvé par Tortue localement, il comparera d'abord avec la version dans le dépôt, et si les checksums correspondent (je suppose qu'il fait une sorte de comparaison de checksum), pas le télécharger, mais le marquer comme "versionné" dans le protocole de contrôle et passez au fichier suivant.

Le résultat final devrait être une belle caisse. Les fichiers qui ne correspondent pas à la version dans le référentiel seront remplacés à ma connaissance et ne pourront pas être restaurés.

Cela a toujours travaillé pour moi dans la situation que vous êtes; Assurez-vous d'avoir des sauvegardes de vos données, ou essayez-les sur un sous-ensemble plus petit en premier.

+0

Est-ce si simple? Cela fait un moment, mais je me rappelle avoir essayé de le faire avant et de ne pas le faire fonctionner. Peut-être que ça a été réparé depuis? –

+1

+1 Je viens de tester cela en faisant une exportation SVN d'un répertoire existant dans SVN, de sorte qu'il ne contenait pas de métadonnées .svn. Ensuite, dans ce répertoire nouvellement exporté, j'ai fait un Checkout SVN du même répertoire à partir de SVN. Chaque entrée a été listée comme "Versioned ..." au lieu de l'habituel "Added ..." Si cela fait une différence, j'utilise TortoiseSVN 1.6.6.17943. – JMD

+0

Merci! Je vais tester cela sur notre projet, et si cela fonctionne, j'accepterai cette réponse. –

Questions connexes