Lo que quiere es un narrow or partial clone, pero desafortunadamente aún no es compatible.
Si ya tiene un gran repositorio y se da cuenta de que lo que tendría sentido para dividirlo en varios repositorios más pequeños, a continuación, puede utilizar la convert extension hacer un Mercurial Mercurial a la conversión. Tenga en cuenta que esto crea un nuevo repositoriofoo
y no puede empujar/jalar entre your-big-repo
y foo
.
El convert extension
no está activada por defecto por lo que añadir lo siguiente al archivo de tu repositorio hgrc
o su archivo mercurial.ini
:
[extensions]
hgext.convert=
A continuación, cree un archivo map.txt
con
include "libs/foo"
rename "libs/foo" .
(Nota Puede utilizar barras diagonales incluso en Windows) y ejecuta
$ hg convert --filemap map.txt your-big-repo foo
Eso hará que foo
sea un repositorio con el historial completo de la carpeta libs/foo
de your-big-repo
.
Si desea eliminar todas las pruebas de foo
de your-big-repo
puede hacer otra conversión donde use exclude libs/foo
para deshacerse del directorio.
Cuando tenga varios repositorios como ese y quiera usarlos como un todo, entonces debería mirar subrepositories. Esta característica le permite incluir otros repositorios en el proceso de pago, de manera similar a cómo funciona el svn:externals
. Por favor, siga el recommendations en esa página wiki.
Por lo que he oído, esta es una de las razones para no poner varios proyectos en un repositorio. –