Then, this explains why. BTW, this is an expected Shell behavior, specified in the POSIX standard:
If a filename begins with a <period> ( '.' ), the <period> shall be explicitly
matched by using a <period> as the first character of the pattern or immediately
following a <slash> character. The leading <period> shall not be matched by:
* The <asterisk> or <question-mark> special characters
GNU tar was included as the standard system tar in
FreeBSD beginning with FreeBSD 1.0.
This is a complete re-implementation based
on the libarchive(3) library. It was first released with
FreeBSD 5.4 in May, 2005.
My personal journey with FreeBSD began with version 5.3 (the first stable release on the 5th branch) in November 2004.
I was completely unaware of such a significant tar change, and apparently I didn't care at the time. However, the entire 5th branch has been so revolutionary compared to the 4th branch that this change is just a drop in the bucket ;)
I'm asking this because I was trying to reproduce the same situation and everything seems to be working fine:
or even like this No special options were needed. But, if I do it this way, then, there are definitely missing all dot directories: But this problem is not a tar's problem. That's only because "*" mask doesn't match dot files: For that purpose, you need to clearly add a dot: Thus, the solution might be But, I'd rather stick to "-C dir/" option instead of relying on "*" mask in this case.