59 votes

Est-il possible d'utiliser un dépôt Mercurial que Git sous-module?

J'ai été heureux à l'aide de submodules pour suivre toutes les bibliothèques de mon projet dépend de. Le truc c'est que je suis en utilisant une bibliothèque appelée noyau de l'intrigue qui a seulement un public de dépôt mercurial. Je peux probablement miroir dans un readonly dépôt Git, mais est-ce la meilleure option que j'ai obtenu? J'avais vu il y a des modules Mercurial suivre les choses dans Git. Quelqu'un sait si l'inverse existe?

25voto

Jim DeLaHunt Points 3395

À l'aide de git-hg.

Tout d'abord, assurez-vous que la (non-Mercurial) git sous-module sous votre dépôt principal. Si vous n'avez pas d'autres submodules pourtant, il suffit de créer un mannequin sous-module de bibliothèque autre que core-plot, par exemple:

main-repo $ git submodule add https://repo.url.com/repo.git repo

Deuxièmement, clone de l' core-plot bibliothèque dans un répertoire.

main-repo $ git-hg clone  https://code.google.com/p/core-plot/ core-plot

Ajouter le nouveau repo pour le sous-module de la liste.

main-repo $ git submodule add ./core-plot core-plot
main-repo $ git commit -am "added core-plot submodule"

À partir de maintenant, n'importe quel clone de ce repo va tirer les deux référentiels. (Après le sous-module d'initialisation et mise à jour).

Certains des problèmes que j'ai trouvé jusqu'à présent sont:

  • Si vous pousser à nu, puis les pensions de lien et le répertoire sera créé dans le nu, mais le dépôt ne sera pas cloné à l'intérieur et d'autres en tirant à partir de ce nu ne sera pas en mesure d'obtenir le core de la parcelle lib.
  • Si de base-plot doit être mis à jour l'un avec l' git-hg devront git-hg pull.

L'inverse question git sous-module de Hg repo? est également demandé sur StackOverflow. La meilleure réponse mentionne projets hg-git git-hg. Un autre converse question est de savoir Comment traiter avec les submodules sur un repo qui est converti Mercurial.

15voto

phinze Points 636

Dans mon expérience, la plupart des actifs non-git projets ont une up-to-date git miroir flottant autour sur GitHub. Il ressemble core-plot a un de trop:

https://github.com/djw/core-plot

Si vous êtes prêt à s'appuyer sur celui qui jeu de miroir, il semble que cela pourrait être l'option la plus facile d'obtenir un sous-module en place.

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