Comment combiner deux projets dans Mercurial ?
-
08-06-2019 - |
Question
J'ai deux référentiels mercuriels distincts.À ce stade, il est logique qu'ils « ne fassent qu'un » car je souhaite travailler sur les deux projets simultanément.
J'aimerais vraiment que les deux projets soient chacun un sous-répertoire dans le nouveau référentiel.
- Comment fusionner les deux projets ?
- Est-ce une bonne idée, ou devrais-je les séparer?
Il semble que je devrais pouvoir passer d'un référentiel à l'autre...Peut-être que c'est vraiment simple ?
La solution
J'ai pu combiner mes deux référentiels de cette manière :
- Utiliser
hg clone first_repository
pour cloner l'un des référentiels. - Utiliser
hg pull -f other_repository
pour extraire le code de l'autre référentiel.
Le -f
Le drapeau (force) sur le pull est la clé - il dit d'ignorer le fait que les deux référentiels ne proviennent pas de la même source.
Voici les documents pour cette fonctionnalité.
Autres conseils
hg a commencé à avoir sous-dépôt depuis la version 1.3 (01/07/2009).Les premières versions étaient incomplètes et fragiles, mais elles sont désormais assez utilisables.
Si vous n'utilisez pas le même code dans tous les projets, conservez-les séparés.Vous pouvez définir ton référentiel personnel de chacun de ces projets pour n'être qu'un répertoire à part.Pourquoi mélanger toutes les branches, fusions et valider des commentaires alors que ce n'est pas nécessaire.
À propos de votre modification : Passer d'un référentiel à un autre.Vous pouvez toujours utiliser le transplant
commande.Bien que tout cela soit en réalité un détournement de votre désir pour combiner les deux, vous pourriez donc vous sentir mal à l'aise avec mes suggestions.Ensuite, vous pouvez utiliser l'extension forestière, ou quelque chose du genre.
hg transplant -s REPOSITORY lower_rev:high_rev