Un archivo .hgignore
en cada subrepo serviría como el especializado para ese subrepo. A continuación, puede utilizar el principal de recompra de .hgignore
como el principal inclusión dentro de hgrc
el expediente de cada subrepo:
[ui]
ignore.main = \absolute\path\to\mainrepo\.hgignore
La razón por la que hace ignore = .hgignore
no funcionó para usted en su mundial .hgrc
(y no en repo hgrc
) es que tener simplemente .hgignore
es una ruta de archivo relativa y su resolución a una ruta absoluta depende del directorio de trabajo actual utilizado al invocar hg
. Ejemplos:
- Si estás en
\repos\main\
e invocar hg st
, se buscarán \repos\main\.hgignore
. Lo mismo si invoca hg st -R nested
, porque el directorio de trabajo actual sigue siendo el mismo.
- Pero si estuviera en
\repos\main\nested\
y luego invocara hg st
, la configuración estaría ahora en \repos\main\nested\.hgignore
.
Si desea especificar un mundial .hgignore
que se encuentra en su directorio personal, que tendría que especificar con un camino que no es pariente (o por lo menos mucho menos relativa):
[ui]
ignore = ~\.hgignore
I' No estoy seguro acerca de su primer punto de bala allí. Si invoca 'hg st -R anidado', se usará' \ repos \ main \ nested \ .hgignore', ya que ese es el archivo '.hgignore' en el directorio de trabajo del repositorio' anidado' - eso puede ser lo que significa, pero no se lee de esa manera. – icabod
@icabod: No tengo una máquina * nix para probar, pero así es como se comporta Windows. Si tengo diferentes archivos 'extra.hgignore' en' main' y 'anidado' y pon' ignore = extra.hgignore' en 'anidado \ .hg \ hgrc', haciendo' hg st' y 'hg st -R anidados' ambos extraen de 'main \ extra.hgignore'. Solo si 'cd' para' anidado ', en cambio, tomará 'anidado \ extra.hgignore'. (Para mi prueba, utilicé 4 archivos en 'main' y' anidado', con 4 extensiones diferentes distribuidas entre los archivos de ignorar). –
Ah, creo que perdí una parte de su respuesta cuando lo estaba probando. Mi error :) – icabod