Skip to content

Latest commit

 

History

History
55 lines (54 loc) · 2.86 KB

TODO.md

File metadata and controls

55 lines (54 loc) · 2.86 KB

Improvement Ideas

  • Automatically create the mount point if it does not already exist.
  • Automatically remove the mount point if it has been created by fuse-archive in the first place.
  • Handle special files (sockets, FIFOs or pipes, character and block devices).
  • Add a -o nospecials option.
  • Handle symlinks.
  • Add a -o nosymlinks option.
  • Handle empty directories (#17).
  • Improve the computation of the access bits of each inode.
  • Gracefully handle file name collisions by deduplicating the colliding names.
  • Add a convenient logging system.
  • Add a --verbose option.
  • Keep track of the number of links to each inode.
  • Keep track of the number of blocks used by each inode.
  • Implement the statfs function.
  • Print versions of linked libraries when using the --version option.
  • Add a cache system holding the full extracted data.
  • Add a -o nocache option.
  • Remove unused options.
  • Automatically request a decryption password when dealing with an encrypted archive.
  • Add comprehensive tests.
  • Document the version numbering system.
  • Create a man page.
  • Modify the Makefile so that make doc refreshes the man page.
  • Modify the Makefile so that make install also installs the man page (#24).
  • Add a -o fmask option.
  • Add a -o dmask option.
  • Honor the original UID and GID when using the -o default_permissions option.
  • Modify the Makefile so that make check runs the new tests in test/test.py.
  • Handle hardlinks (#18).
  • Add tests for hardlinks.
  • Add tests for big files.
  • Document the -o nocache option.
  • Document the -o nosymlink option.
  • Document the -o nospecials option.
  • Document the returned error values.
  • Document the -o dmask=M option.
  • Document the -o fmask=M option.
  • Document the -o uid=N option.
  • Document the -o gid=N option.
  • Document the -o default_permissions option.
  • Add a -o force option.
  • Add tests for the lzma compression method.
  • Add tests for the xz compression method.
  • Add tests for the zstd compression method.
  • Add tests for the Z compression method.
  • Add a -o nohardlink option.
  • Optimize the tree structure in order to avoid storing all the full paths in memory.
  • Optimize the Reader struct in order to reuse the existing archive file descriptor instead of opening a new one every time.
  • Check the archive file type to avoid reading from a pipe or a directory.
  • Document the cache system.
  • Optimize the Reader recycling system.
  • Use a Reader when building the tree.
  • Add a rolling buffer of uncompressed data to each Reader.