Quiero almacenar un proyecto en Mercurial que contenga un código externo (que puedo modificar yo) proveniente de repositorios Git y SVN. En SVN resolvería esto con vendor branches y copiaría el código, pero lo entendí en Mercurial it's better to have different repositories for different projects, y lo interrumpo cuando es necesario.Mercurial "ramas de proveedores" de repositorios externos?
diseño del proyecto será la siguiente:
- 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]
En Subversion que crearía vendor
dir y una dir trunk
, copiar todas las bibliotecas externas por primera vez en vendor
, y luego en el lugar correcto en trunk
. (Creo) Puedo hacer esto en Mercurial también, con subrepositories, pero ¿es esta la mejor manera de hacerlo?
Intenté configurar diferentes repositorios para las bibliotecas externas, pero parece que no puedo extraer el externalLibraryARepo
en el directorio externalLibraryA
de mi repositorio principal. Va en el directorio principal, que no es lo que quiero. También puedo crear un repositorio espejo de Mercurial e incluirlo como un subrepo en mi repositorio principal, pero luego los cambios en este subdirectorio van al repositorio espejo, mientras que quiero que permanezcan en el repositorio principal.