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.