Fossil SCM
fossil generates broken tar files when the file path is > 100 chars
0a6420e446d8f1a…
· opened 14 years, 8 months ago
- Type
- Code_Defect
- Priority
- —
- Severity
- Important
- Resolution
- Fixed
- Subsystem
- —
- Created
- July 20, 2011 9:54 p.m.
fossil attempts to support file names up to 256 chars. The tar 'ustar' format supports path names longer than 100 chars, but the file name has to be split into two chunks, which is done incorrectly. The Posix spec requires that the split occur at a '/' character, which is not done.
The above is easily verified by adding a regular file with a name length > 100 chars in a test repo, and generating a tarball. Neither GNU or BSD tar will generate the correct file name.
It may be just as easy to generate a 'pax' extension record when the file name is longer than 100 characters. This works for any path length.
anonymous claiming to be Gé (original poster) added on 2011-07-21 18:37:40 UTC: I have developed a small patch that fixes this issue. If you're interested I'll send a copyright assignment form.
ge added on 2011-08-19 17:23:47 UTC: POSIX.1 long filename extensions implemented in [a26940c22e].