2010-05-20 14 views

Respuesta

5

Sí y no. Depende de lo que quieras hacer. Puede crear repo 'sandbox/wiki', pero los archivos en estos repos internos no se confirmarán en el repositorio externo 'sandbox' (@Jason es correcto). Si no quieres, no hay problema.

Intente agregar explícitamente archivos de los repositorios de wiki en sandox y obtendrá el mensaje a continuación. Si solo agrega una ruta a algún directorio que contiene un repositorio interno, los archivos serán ignorados.

De directoy raíz Sandox:

hg add wiki/myfile 
    abort: path 'wiki/myfile' is inside repo 'wiki' 
7

La respuesta corta es sí, pero no puedo imaginar por qué querrías.

En su ejemplo, creo que hay que ir con:

repos/sandbox-wiki 

[editar] Adicionalmente:

Yo Dowg, I herd you like repositories. 

So we put a repo in your repo so you can version while you version 

:-)

-1

Se necesitaría para establecer un archivo .hgignore en sandbox para excluir wiki porque mercurial asume que es responsable de todos los descendientes. Esto probablemente generaría más confusión del usuario de lo que vale.

+3

?! Tengo la impresión de que mercurial automáticamente ignora otros directorios mercuriales debajo de su jerarquía raíz. (habiendo hecho esto) –

+1

Correcto eres: ignora a los subordinados. Sin embargo, dado el resultado final tergiversado de mercurial, sigo manteniendo que te estarías comprando confusión. – msw

1

Mercurial no permite repositorios anidados, pero hay al menos una razón para ellos:

Imagínese que usted está trabajando en un proyecto:/MiProyecto. En esta carpeta, coloca todo: código, documentación, pruebas, etc.

Desea hacer una copia de seguridad de su trabajo porque es muy importante, por lo que crea un repositorio para/MyProject. Luego, las horas extra usa paquetes para guardar la evolución de/MyProject y realizar una copia de seguridad en una memoria flash USB para que pueda recuperar todo en caso de que se rompa su disco duro.

Recuerde que/MyProject contiene de todo. Y entre todas esas cosas, están el código principal y algunos proyectos auxiliares. También desea realizar un seguimiento del progreso de un proyecto auxiliar que está en/MyProject/AuxiliaryProject, por lo que utiliza Mercurial para rastrear su evolución.

Además, usted quiere tener un repositorio separado para el código principal:/MyProject/Main

En esta situación usted quiere repositorios anidados: uno grande para poder hacer copias de seguridad de todo el uso de paquetes y repositorios niño para administrar cada subproyecto.

Creo que Mercurial debería darle al usuario varias opciones al inicializar un repositorio. Por ejemplo: - ignore los repositorios anidados - incluyen repositorios anidados pero ignoran las carpetas .Hg (es decir, actúan como si no hubiera repositorios anidados pero no ignoran la información contenida en los repositorios anidados). - incluye los depósitos en anidados y también incluyen carpetas .hg (tiene sentido para fines de copia de seguridad)

--------- Editar: Subrepositories es una característica que es trabajo en progreso: https://www.mercurial-scm.org/wiki/subrepos

Además, hay una extensión llamada "bosque" que podría quedar obsoleta en el futuro: https://www.mercurial-scm.org/ForestExtension

Cuestiones relacionadas