
Si tengo la estructura del archivo
dir/
dir/.ignore
dir/file.ext
dir/subdir/
dir/subdir/other_file.ext
donde dir/.ignore
contiene una línea, *.ext
entonces esperaría el comando
$ tar -czvf dir.tgz --exclude-ignore=.ignore dir
para dar como resultado un dir.tgz
que contiene dir/.ignore
y dir/subdir/other_file.ext
, pero no dir/file.ext
.
Sin embargo, ejecutar ese comando usando GNU tar versión 1.34 (como se incluye con Ubuntu 22.04) da:
$ tar -czvf dir.tgz --exclude-ignore=.ignore dir
dir/
dir/subdir/
dir/.ignore
por lo que dir/subdir/other_file.ext
no está incluido en dir.tgz
.
La página de manual dice:
--exclude-ignore=FILE Before dumping a directory, see if it contains FILE. If so, read exclusion patterns from this file. The patterns affect only the directory itself.
y la alternativa específica
--exclude-ignore-recursive=FILE Same as --exclude-ignore, except that patterns from FILE affect both the directory and all its subdirectories.
dir/.ignore
Sin embargo, ¿se aplica el patrón de exclusión de dir/subdir
todos modos?
Para adelantarnos a lo obvio: no, no hay accidentalmente un .ignore
in dir/subdir/
también.
Respuesta1
Probablemente un errorya encontrado.
Encontré esa
--exclude-ignore
opción y--exclude-vcs-ignores
actúo.cvsignore
de forma recursiva, lo que contradice el manual.
Aparentemente aún no se ha solucionado.
Ahora también reportadoen su rastreador de errores