Scoville: The escaping overlay file system
Scoville is a FUSE overlay file system which works around the limited character set allowed in FAT file names. FAT does not permit non-printable characters in file names, nor does it allow the characters ‘*’, ‘?’, ‘<’, ‘>’, ‘|’, ‘"’, ‘:’, or ‘\’. Many applications support applying a file name translation map when placing files on FAT-formatted volumes; however, some – notably git-annex – do not. For those applications, Scoville may be the only way to work around some very unpleasant ad-hoc schemes.
Usage is trivial: Run Scoville on an existing mounted file system. For example,
if you have a FAT-formatted SD card mounted on /media/sd, you can run
/media/sd. When you’re done, unmount it with
fusermount -u. While mounted,
Scoville will translate all forbidden characters to their URL-escaped versions.
For example, a file called ‘What Else Is There?.flac’ will be stored on disk as
‘What Else Is There%3f.flac’.
Beyond escaping, Scoville is exactly as capable as the file system it overlays. If you want long file names, use vfat; if you want POSIX permissions, use umsdos. (On the other hand, if you use umsdos, you don’t need to use Scoville, since umsdos provides Scoville’s special character handling, albeit using a different scheme.)
Scoville is licensed under the Apache License, version 2.0.