2010-08-30 15 views
11

¿Qué pasa si ya existe un repositorio de Mercurial en¿Se pueden anidar los repositorios de Mercurial?

/User/peter/development 

y ahora quiero añadir un repositorio para

/User/peter 

porque también quiero a la versión .bashrc, .profile, o tal vez /User/peter/notes así . ¿Tener un repositorio sobre un repositorio ya existente crea conflictos para Mercurial?

Respuesta

10

Todo estará bien.

Parece que Mercurial es lo suficientemente inteligente como para ignorar los subdirectorios que ya tienen repositorios en ellos. He aquí una conversación con ella:

$ mkdir outer 
$ mkdir outer/inner 
$ mkdir outer/sub 
$ echo red >outer/red.txt 
$ echo blue >outer/inner/blue.txt 
$ echo green >outer/sub/green.txt 
$ cd outer/inner/ 
$ hg init 
$ hg add 
adding blue.txt 
$ hg commit -m "create inner" 
$ cd .. 
$ hg init 
$ hg add 
adding red.txt 
adding sub/green.txt 
$ hg commit -m "create outer" 
$ hg status 
A red.txt 
A sub/green.txt 
$ hg commit -m "create outer" 

Como se puede ver, cuando agrego al repositorio externo, ignora el directorio interno.

Si quiere estar más seguro, puede agregar el directorio interno a su .hgignore.

+0

No hay necesidad de poner nada en su '.hgignore' - como usted dice, Mercurial ignorará a propósito los repositorios anidados y esto es exactamente para permitir a las personas (como los propios desarrolladores de Mercurial ...) versionar sus directorios de inicio :-) –

+1

@Martin: ¡eso lo explicaría! Sugerí usar .hgignore más como una terapia de ansiedad barata para el OP que nada. –

+1

Tom: jeje, me gusta la idea de curar la ansiedad con dosis de '.hgignore'! :) –

1

hay una característica "subrepositories" que se añadió a Mercurial en la versión 1.3, y es apoyado en 1.5, que permite que algunos comandos hg para actuar en repositorios anidados de forma recursiva.

+0

Esto es bueno saberlo, pero el enlace está roto. [Este enlace] (http://mercurial.selenic.com/wiki/Subrepository) funciona por ahora. – steampowered

+1

La función Subrepository es aparentemente una [Característica de Último recurso] (http://mercurial.selenic.com/wiki/FeaturesOfLastResort) – steampowered

Cuestiones relacionadas