16

Y a-t-il des outils pour faciliter une migration de Sourcegear's Vault à Subversion?Un outil pour migrer le repo de Vault à Subversion?

Je préfèrerais vraiment un outil existant ou un projet (j'achèterai!).

Exigences:

  1. migration une fois seulement
  2. histoire complète avec commentaires

En option:

  1. Un certain soutien pour les étiquettes/branches/tags
  2. Relativement rapide. Cela peut prendre des heures mais pas des jours.
  3. Coût si disponible

points de bonus si vous pouvez partager une expérience personnelle liée à ce processus.


L'une des raisons pour lesquelles je voudrais faire est parce que nous avons beaucoup de projets répartis entre Vault et Subversion (nous sommes finalement loin de sourcesafe). Dans certaines situations, il serait utile de consolider les repos d'un client particulier sur SVN.

En outre, SVN est mieux pris en charge parmi les outils tiers. Par exemple, Hudson et Redmine.

Encore une fois, cependant: nous n'abandonnons pas complètement le coffre-fort.

+0

Quelques-uns m'ont demandé pourquoi je quittais Vault. Il ne s'agit pas d'abandonner le coffre-fort ou de privilégier SVN - mon entreprise utilise les deux. Il serait juste utile dans certaines situations de pouvoir passer de l'un à l'autre. –

+0

Hmm. Je me demande si Eric Sink lit Stackoverflow et s'il veut faire un peu de rep en implémentant cette fonctionnalité dans Vault. –

+0

Je doute que ce soit quelque chose qu'il serait heureux d'avoir. –

Répondre

19

Nous réfléchissons à la migration de voûte à git. J'ai écrit le convertisseur de vault2git qui prend soin de l'histoire et supprime les liaisons de coffre des fichiers * .sln, * .csproj.

Une fois que vous avez repo git, il y a git2svn. Je sais que cela ressemble à tourner autour, mais il pourrait être plus rapide que l'écriture vault2svn à partir de zéro.

+3

Voici l'URL de git2svn: http://github.com/AndreyNikiforov/vault2git Je ne suis pas sûr que ce soit bon, mais me dérangeait qu'aucun lien n'était inclus. –

+2

J'avais aussi ce problème, mais nous sommes sur une ancienne version de Vault (3.1.9). J'ai fourré le repo d'Andrey et l'ai modifié pour fonctionner avec notre version de Vault. https://github.com/jocull/vault2git - Il devrait y avoir une branche appelée vault_api_3.1.9 – jocull

+0

@Andrey Je veux vous acheter un verre pour dire merci, mais ne trouve pas vos informations de contact. Vault2Git représente une telle contribution; Je vous remercie! : o) – iokevins

2

Je n'ai jamais trouvé un moyen facile de convertir Vault en svn. Fondamentalement, nous avons pris nos dernières branches et tronc et a commencé à nouveau dans svn. Honnêtement, je suis retourné deux ou trois étiquettes, juste parce que. J'ai gardé le coffre-fort pendant six mois et nous n'avons jamais eu besoin d'y retourner pour des données. Donc je suppose que vous voulez poursuivre votre histoire pour un lien de suivi de bug; en même temps, nous avons transféré notre liste de bogues en circulation à un nouveau tracker, ce qui a définitivement rendu les choses plus pratiques. Si nous restions avec le même bug tracker, je pense que nous aurions commencé une nouvelle instance pour le nouveau repo. Bonne chance!

Brett

8

Si vous voulez l'histoire de la version complète, vous pouvez simplement écrire un script qui vérifie chaque version du coffre-fort et des contrôles dans les commentaires à Subversion.

https://www.mercurial-scm.org/wiki/GenericConversion est un bon exemple

Sur la base de la documentation que j'ai vu sur le site Web Vault, regardez dans la ligne de commande getVersion.

Utilisez votre langage de script préféré ... Mettre en oeuvre le processus suivant:

  1. Découvrez une version de voûte.
  2. Obtenez les commentaires de validation pour le changeset.
  3. Ajouter/supprimer les fichiers au repo SVN
  4. Livrer des fichiers en utilisant les commentaires commettras
  5. Retour à la première étape avec la prochaine version
+0

C'est ce que nous avions commencé à faire mais je pensais que je pourrais aussi bien demander à SO de voir si quelque chose existe déjà. Merci pour le lien, cependant! –

+0

Des conseils sur la façon d'implémenter le côté Vault de cela? –

+0

Je n'ai pas de voûte donc je ne peux pas vous donner les commandes exactes, mais GETVERSION et HISTORY sont des commandes qui devraient être recherchées. – Joshua

0

gratuit. Les coûts de licence d'utilisateur de coffre-fort ont triplé depuis que nous y sommes allés.

+0

Je ne sais pas comment votre réponse est pertinente, mais c'est vrai. C'est l'une des principales raisons pour passer à SVN (en plus de la disponibilité du client mac) – schmoopy

0

Nous envisageons également la migration. L'une des raisons est le coût, mais une autre raison est que Vault n'utilise pas xml (ou any) pour ses commentaires de commit, donc les caractères spéciaux échouent notre système de construction CCNet automatisé (par exemple un caractère de puce est l'un d'entre eux, et nous cause un problème) . Un moyen de contourner cela a été A) demander à nos développeurs de ne pas utiliser ces caractères spéciaux, "invalides" (caractères en dehors de la plage de ASCII 32 - 126) et B) pour entrer manuellement et de valider le code avec un "valide" commentaire. Cela peut ne pas sembler un gros problème, mais ne pas autoriser ces caractères empêche le copier/coller facile de bug et d'autres commentaires dans le commentaire de validation. Cela ralentit les gens et tout ce qui entrave le flux et la productivité et crée la frustration doit être réduit ou supprimé. De mes recherches, il semble qu'il n'y ait aucun moyen de migrer directement de Vault vers SVN. Peut-être est-il possible d'utiliser un autre système de contrôle de version comme étape intermédiaire de migration: Vault -> OtherSourceControlProduct -> SVN

... mais je pense que nous pourrions écrire les commits (comme Joshua l'a suggéré au début) de ce fil) ou - qui plus probablement - juste commettre les dernières révisions et laisser le repos Vault autour d'un certain temps pour l'histoire, etc. Cela nous donne en fait une bonne occasion de nettoyer et refactoriser notre code actuel et la hiérarchie.

Paul

Questions connexes