Changes for version 0.011000 - 2013-05-13

  • Switched to a 3-decimal version string.
  • Renamed accessors in Path objects from 'path_ent*' to 'path_dirent*', and 'final_ent' to 'dirent'. This is an API change, but I don't think anyone is using this module yet anyway.
  • Added $path->resolved_canonical_path convenience method to quickly get a unix path string like "/a/b/c" from a $path object. (mostly useful for filters) Also added ->canonical_path for a quick rendering of the path that was passed to it.
  • Added other helpful accessors for path objects: 'type', 'name', 'depth'. Added new methods 'mkdir', 'path_if_exists'.
  • Enhanced path resolving, so that a resolved path which you request a subpath from will return a partially-resolved path object, speeding up the "for($path->readdir) { $path->path($_) }" pattern.
  • Added $fs->get_dir_entries, $fs->readdir, and $path->readdir, which return a list of directory entries *including* the current un-committed overrides.
  • Added $fs->tree_iterator, and $path->tree_iterator, which runs a similar operation to the unix 'find' command on the virtual filesystem.
  • Fixed the $fs->unlink feature, which was completely broken before, and added test cases.

Modules

Virtual Filesystem backed by Content-Addressable Storage
Object representing a directory of file entries, indexed by filename.
Abstract base class for directory encoder/decoders
Directory representation with minimal metadata
Codec for saving all arbitrary fields of a DirEnt
Efficiently encode only the attributes of a UNIX stat()
Light-weight Immutable Directory Entry Object
Copy files from DataStore::CAS::FS to real filesystem.
Copy files from filesystem into DataStore::CAS::FS.
Wrapper to represent non-utf8 data in a unicode context

Provides

in lib/DataStore/CAS/FS.pm
in lib/DataStore/CAS/FS.pm
in lib/DataStore/CAS/FS/DirCodec/Minimal.pm
in lib/DataStore/CAS/FS/DirCodec/Unix.pm
in lib/DataStore/CAS/FS/Importer.pm
in lib/DataStore/CAS/FS.pm
in lib/DataStore/CAS/FS.pm