Question

J'utilise Eclipse / subclipse pour le développement. J'ai aussi le client TortoiseSVN.

Je suis en train de déplacer un dépôt CVS. L'ancien référentiel CVS avait un seul projet. Nous voulons reogranize que plusieurs des projets ont leurs propres sources de développement et devraient être gérés séparément.

J'ai couru le mouvement complet standard du référentiel à l'aide cvs2svn et n'a eu aucun problème.

Je veux restructurer les projets dans le dépôt subversion, donc après la cvs2svn, je tentais de faire un mouvement svn et fait la restructuration. J'ai pu faire avec succès le mouvement, encore une fois sans aucun problème.

Je vérifie le projet Eclipse, puis choisissez un fichier dans l'un des déplacés Projets. Il ne semble pas d'importance quel projet. Si je fais une version mise à jour dans Eclipse, et choisissez une version dans l'histoire du fichier à mettre à jour, le fichier est supprimé de mon système de fichiers, mais la version plus ancienne ne vient jamais vers le bas. Le fichier est tout simplement disparu.

J'ai le même problème en utilisant TortoiseSVN, donc je suppose que ce n'est pas une question Subclipse.

La chose intéressante est que si je fais un d'un projet svn move retour à son emplacement d'origine où il a d'abord été converti, et suivre les mêmes étapes, je n'ai pas de problèmes , la version mise à jour fonctionne comme prévu.

Alors, à ma question (s):

  1. Ai-je fait quelque chose de mal durant le déménagement de cvs2svn qui me empêcher de réorganiser avec succès mon dépôt subversion?
  2. Y at-il une meilleure façon de faire ce que je suis en train de faire?
Était-ce utile?

La solution

Là où je travaille, nous avons décidé de déplacer les fichiers dans SVN après l'importation de CVS. CVS a des capacités d'histoire limitée avec mouvement, alors que le dépôt SVN peut être « annulée » pour voir à quoi il ressemblait à tout moment. Encore une fois, en faisant cela, il a été décidé que le maintien d'un historique de tous les changements et les mouvements était plus important.

Ce que nous avons fait est de déplacer le module CVS dans SVN est. Puis, en utilisant le navigateur du référentiel, déplacez tous les fichiers au besoin, avant un départ.

Maintenant, cela ne résout pas votre problème lorsque vous mettez à jour un fichier individuel à une version plus ancienne qu'elle peut disparaître. Nous avons décidé de vivre avec cela, parce que nous essayons de passer d'une vue centrée sur des fichiers du référentiel (CVS) à une base instantané. Donc, si nous devons revenir à une ancienne version, nous mettons à jour l'ensemble du projet. Si vous cherchez juste à l'histoire de diff, qui fonctionne bien de TortoiseSVN lorsque nous permettons déplace / renomme.

Autres conseils

  1. Non, vous ne l'avez pas fait quelque chose de mal
  2. Oui. Vous devez réorganiser votre référentiel CVS avant vous importez via cvs2svn

Raison de ce symptôme:

Vous devez toujours vérifier un dossier. Si vous mettez à jour à une version précédente, ce dossier ne peut pas exister (le dossier a été déplacé) Subversion supprimera son contenu. Changement de nom dans Subversion est toujours mis en œuvre comme supprimer et ajouter. Donc, vous avez une connexion mince entre les fichiers, mais il est seulement pour l'histoire de ce fichier. Si vous voulez voir la nouvelle mise en page dont vous avez besoin à la caisse un dossier qui contient à la fois: la cible et le dossier source. Que vous serez en mesure de « voir » le mouvement de ce dossier, si vous avez seulement l'un des dossiers dans votre caisse, le dossier sera simplement disparaître et vous devez extrayez une URL différente (soit source ou cible).

Il est donc plus facile de restructurer vos projets dans CVS puis migrer. Inconvénient:. Vous n'avez des antécédents de votre restructuration et vous n'êtes pas en mesure de construire / compiler les versions précédentes (qui ont été créées dans CVS)

Je suis d'accord avec Peter Parker qu'il est facile et préférable de réorganiser les projets CVS avant la conversion à Subversion, si ce que vous voulez faire est de réorganiser les dossiers et les fichiers dans des projets individuels.

Mais si vous voulez réorganiser la mise en page des projets eux-mêmes (à savoir, où un projet vit par rapport à l'autre), vous pouvez le faire facilement dans le cadre de la conversion de cvs2svn. Lorsque vous faites un de conversion multiprojet, vous pouvez spécifier où cvs2svn doit placer le tronc, les branches et balises répertoires pour chacun des projets. Placez simplement les en fonction de votre nouvelle organisation de projet souhaité et alors vous ne devriez avoir aucun problème à travailler avec le référentiel en utilisant l'un des outils habituels.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top