Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Bug#1024069: tar: exclude options with trailing slash does not exclude directory

39 views
Skip to first unread message

Eloi Notario

unread,
Nov 14, 2022, 6:40:03 AM11/14/22
to
Package: tar
Version: 1.34+dfsg-1
Severity: normal

Dear Maintainer,

While passing a directory name with a trailing slash for apparently
any exclude option parameter, the directory referenced does not get
excluded from the tarfile.

Reproducible with the following configuration:

$ mkdir foo bar baz
$ touch {foo,bar,baz}/file
$ cat > .gitignore
foo
bar/

In all the following cases, bar directory is unexpectedly included
into the tarfile:

$ tar --create --exclude-vcs-ignores . | tar --list
./
./.gitignore
./bar/
./bar/file
./baz/
./baz/file

$ tar --create --exclude-from=.gitignore . | tar --list
./
./.gitignore
./bar/
./bar/file
./baz/
./baz/file

$ tar --create --exclude=foo --exclude=bar/ . | tar --list
./
./.gitignore
./bar/
./bar/file
./baz/
./baz/file

I found it while using --exclude-vcs-ignores where a .gitignore
referenced an exclude with a trailing slash (which is properly
documented and works inside git), and further tests showed me that
it is not only a --exclude-vcs-ignores issue but a more generic one.

Also note that using bar/file excludes the file entry but not the
directory itself, as expected.

-- System Information:
Debian Release: 11.5
APT prefers stable-security
APT policy: (500, 'stable-security'), (500, 'stable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 5.10.0-18-amd64 (SMP w/4 CPU threads)
Locale: LANG=ca_ES.utf8, LC_CTYPE=ca_ES.utf8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages tar depends on:
ii libacl1 2.2.53-10
ii libc6 2.31-13+deb11u4
ii libselinux1 3.1-3

tar recommends no packages.

Versions of packages tar suggests:
ii bzip2 1.0.8-4
pn ncompress <none>
ii tar-doc 1.34-1
pn tar-scripts <none>
ii xz-utils 5.2.5-2.1~deb11u1

-- no debconf information
0 new messages