Pregunta

Tengo un problema que parece que no puedo entender. Estoy usando TortoiseHg (versión 0.7.5) en Windows pero en Linux tengo el mismo problema. Aquí está:

Mi .hgignore archivo:

syntax: regexp
^[^\\/]+$

Lo que estoy tratando de lograr es agregar a la lista de ignorados los archivos que están en la raíz del repositorio hg.

Por ejemplo, si tengo así:

.hg
+mydir1
+mydir2
-myfile1
-myfile2
-anotherfile1
-anotherfile2 
.hgignore

Quiero que se ignoren myfile1 (2) y otrofile1 (2) (los nombres son solo para el propósito de este ejemplo; no tienen una regla simple que pueda colocarse fácilmente en el archivo hgignore)

¿Hay algo que me falta porque estoy bastante seguro de que regexp es bueno (incluso lo probé)? Ideas?

¿Hay una manera más simple de lograr esto? [para agregar a la lista de ignorados archivos que están en la raíz del repositorio mercurial]

¿Fue útil?

Solución

Transmití esta pregunta en #mercurial en irc.freenode.net y la respuesta fue que no se puede distinguir entre archivos y directorios & # 8212; el directorio coincide con la barra que está buscando en su expresión regular.

Sin embargo, si puede suponer que sus directorios nunca contendrán una parada completa ., pero sus archivos lo harán, entonces algo como esto parece funcionar:

^[^/]*\..*$

Lo probé en un repositorio como este:

% hg status -ui
? a.txt
? bbb
? foo/x.txt
? foo/yyy

Agregar el archivo .hgignore da:

% hg status -ui
? bbb
? foo/x.txt
? foo/yyy
I .hgignore
I a.txt

que indica que el archivo a.txt se ignora correctamente en su directorio raíz, pero x.txt en el subdirectorio foo no lo es. También puede ver que un archivo llamado bbb en el directorio raíz se no ignora. Pero tal vez pueda agregar dichos archivos usted mismo al archivo bar.baz.

Si tiene un directorio como <=> en su directorio raíz, entonces este directorio y todos los archivos dentro serán ignorados. Espero que esto ayude un poco.

Otros consejos

Aquí hay un truco sucio:

Cree un archivo vacío " .hidden " en su directorio, luego agregue a .hgignore:

^mydir/(?!\.hidden).+$

Esto ignorará todos los archivos en el directorio excepto " .hidden " ;.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top