Je veux stocker un projet dans Mercurial qui contient du code externe (que je peux modifier) provenant de dépôts Git et SVN. Dans SVN, je voudrais résoudre ce problème avec vendor branches et copier le code autour, mais j'ai compris cela dans Mercurial it's better to have different repositories for different projects, et tirer entre eux si nécessaire.Mercurial "branches de fournisseur" de dépôts externes?
La mise en page du projet sera comme ceci:
- externalLibraryA [comes from a SVN repo] - ...with some extra files from me - externalLibraryB [comes from a SVN repo] - ...with some extra files from me - externalPluginForExternalLibraryB [comes from a Git repo]
Dans Subversion je créerais vendor
dir et trunk
dir, copiez toutes les bibliothèques externes d'abord dans vendor
, puis au bon endroit dans trunk
. (Je pense) Je peux le faire dans Mercurial aussi, avec subrepositories, mais est-ce la meilleure façon de le faire?
J'ai essayé de configurer différents référentiels pour les bibliothèques externes, mais il semble que je ne puisse pas tirer le externalLibraryARepo
dans le répertoire externalLibraryA
de mon référentiel principal? Il va dans le répertoire principal, ce qui n'est pas ce que je veux. Je peux également créer un référentiel miroir Mercurial et l'inclure en tant que sous-référentiel dans mon référentiel principal, mais les changements dans ce sous-répertoire vont dans le référentiel miroir, alors que je veux qu'ils restent dans le référentiel principal.