24 votes

La conversion de Mercurial à la Subversion

En raison du manque d'Mercurial soutien dans plusieurs outils, et de gestion de l'oppression, il est devenu nécessaire de convertir plusieurs procès Mercurial dépôts Subversion afin de les rendre conformes avec les normes de la compagnie.

Existe-il des outils ou des suggestions sur la manière d'atteindre cet objectif sans une perte de révision de l'histoire et de l'aimer?

29voto

Ry4an Points 56453

Le convertir extension qui est livré avec mercurial pouvez utiliser mercurial en tant que src et de la subversion comme un dest.

hg convert --dest-type svn hgreponame svnreponame

Assurez-vous de l'activer dans votre .hgrc fichier.

Si vous souhaitez continuer à utiliser mercurial à la sauvette, alors hgsubversion vous permettra de faire de synchronisation bidirectionnelle.

9voto

nitwit Points 701

Ry4an la réponse ci-dessus est le tour est joué exactement; quelques instructions plus détaillées pour quelqu'un (comme moi) qui éprouve de la difficulté:

  1. Faites-vous une faveur et ne pas essayer cela sur Windows. Vous devrez installer une version spécifique de SVN, et même alors, certaines choses peuvent échouer avec un assortiment de messages d'erreur. Ma solution a été de démarrage d'une propre AWS exemple, yum-obtenez la dernière version de mercurial et svn sur elle, clone de l'HG repo, et exécuter le convertir il.

  2. Ajoutez ceci à votre .hgrc fichier pour permettre à l' convert extension:

    [extensions]
    hgext.convert=
    
  3. Exécutez cette commande:

    hg convert --dest-type svn <hg_directory> <directory_for_svn_output>
    
  4. Vous pouvez obtenir l'erreur suivante:

    abort: svn exited with status 256
    

    N'abandonnez pas! Il suffit d'exécuter la même commande à nouveau et il va continuer là où il l'avait laissé.

    Si vous continuez à avoir des problèmes, ajouter de l' --debug --traceback de la ligne de commande pour obtenir plus de détails sur ce qui s'est passé.

3voto

Mikael S Points 2973

Sur mesure devrait être en mesure de faire ce que vous voulez.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X