View Ticket
Not logged in
Ticket UUID: 0a6420e446d8f1a52308620f2ab0d2b8f21c8df6
Title: fossil generates broken tar files when the file path is > 100 chars
Status: Closed Type: Code_Defect
Severity: Important Priority:
Subsystem: Resolution: Fixed
Last Modified: 2011-08-19 17:23:47
Version Found In: d86201dce9f036591b7716bea31c29bcc3188cbf
Description & Comments:
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].