Change #278829
| Category | gtar |
| Changed by | Paul Eggert <eggert@cs.ucla.edu> |
| Changed at | Fri 21 Aug 2026 00:46:21 |
| Repository | git://git.savannah.gnu.org/tar.git |
| Project | gtar |
| Branch | master |
| Revision | 961e48a903f610c559a58ffdc3a8285983993365 |
Comments
tar: support --one-top-dir=/abs/olute It appears that people were using the --one-top-dir=DIR option with an absolute file name, even though this behavior was undocumented and erratic and recent tar versions rejected it. Document and implement behavior that I hope people expect. * src/extract.c (MAKEDIR_FULL_ESCAPE): New constant. (make_directories): Let full directory names escape if MAKEDIR_FULL_ESCAPE is passed. (create_dir): Let DIR escape if it is the one-top-level dir or an ancestor. * src/misc.c (fdbase_opendir): Replace old CHILD_OFLAGS arg with two new args CHILD and OFLAG, so that the functionalities can be distinguished. All callers changed. (fdbase_escape): New function. (fdbase): Use it, for simplicity. * tests/onetop06.at: New test file. * tests/Makefile.am (TESTSUITE_AT): Add it. * tests/testsuite.at: Include it.
Changed files
- NEWS
- doc/tar.texi
- src/common.h
- src/extract.c
- src/misc.c
- tests/Makefile.am
- tests/onetop06.at
- tests/testsuite.at