10
votes

Comment convertir mon référentiel git en mercurial et apporter ses balises

Je veux un peu de jouet avec un peu mercurial, alors j'essaie de convertir l'un de mes référentiels existants. J'exécute la commande suivante sur mon Mac: xxx

La commande importe avec succès tous mes engagements, mais cela n'apporte pas les étiquettes de 8 ou plus qui ont été marquées dans le référentiel Git (ni sont l'une des branches de cette affaire). Existe-t-il un paramètre spécial que je dois définir pour avoir mes tags importés dans Mercurial aussi?


1 commentaires

Conversion de git au Mercurial? Ici, lisez ce conte d'avertissement d'abord: gksoft.com/a/fun/hal -Ibm.html


4 Réponses :


3
votes

C'est un problème quelque peu connu. Vous pouvez essayer de corriger le fichier suivant /usr/lib/python2.6/site-packages/hgext/convert/hg.py (ou partout où il se trouve) en modifiant ceci: xxx

à: xxx

puis la convertir à nouveau.

EDIT: sur un registre plus profond de l'état des choses qu'il semble que cela pourrait être difficile - ce n'est pas impossible - faire ce que tu veux. Encore plus pour le faire correctement.

Puisque vous n'avez que 8 tags, vous envisagez de vous sauver le tracas en créant le fichier .HgTags à la main. Vous pouvez déterminer ce qui se passe avec 'hg convert' plus tard (je vais garder mes yeux frappés aussi).

chance.


1 commentaires

J'ai modifié le fichier comme en conséquence (il était situé dans /Library/python/2.5/site-packages / ...), mais malheureusement, il ne convertit toujours pas les balises et crée le fichier .HGTAGS.



1
votes

Une suggestion que j'ai vue dans le passé est d'utiliser SVN comme une étape intermédiaire. Git et hg ont une excellente conversion bidirectionnelle SVN.


0 commentaires

1
votes

Consultez le hg-git plugin .


0 commentaires

6
votes

Vos tags sont-ils des balises de git léger ou pleine sur des balises annotées? hg convert ne convertit que des balises annotées, mais git par défaut crée des poids légers. J'ai eu cette question lors de la conversion de l'un de mes référentiels récemment. Vous pouvez vérifier ce qu'ils sont les suivants: xxx

exécuté hg convert ne convertira que les balises terminées dans ^ {} , celles annotées. Vous avez 2 choix:

  • PATCH Le fichier d'extension git.py hgext convert pour convertir tous les types
  • Modifiez vos balises GIT aux balises annotées avant la conversion

    avec un petit script shell et l'option --force à la balise git, vous pouvez annoter toutes vos balises.


1 commentaires

C'était le problème. Merci pour le conseil!