The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

DataStore::CAS::FS::Exporter - Copy files from DataStore::CAS::FS to real filesystem.

VERSION

version 0.011000

SYNOPSIS

  my $cas_fs= DataStore::CAS::FS->new( ... );
  
  # Use default settings
  my $exporter= DataStore::CAS::FS::Exporter->new();
  $exporter->export_tree($cas_fs->path("/foo/bar"), "/foo/bar");

DESCRIPTION

ATTRIBUTES

unix_user_cache

unix_group_cache

flags

die_on_unsupported

Die if the exporter encounters a directory entry type which is unsupported on the current platform, or for which there isn't an available Perl module to create it. (Such as unix sockets on Windows, or device nodes without package Unix::Mknod installed, or unicode filenames under Windows without Win32API::File)

die_on_metadata_error

Die if you asked the Exporter to preserve directory entry metadata (user, group, permissions, times, etc) and one of the syscalls to apply that metadata fails.

utf8_filenames

For system which use plain bytes for filenames (unix-like) this determines whether filenames containing high-bit bytes should be flattened to UTF-8, or latin-1 (or EBCDIC, but I have no access to such a system to test on, so don't expect that to work) You need to use the same setting for this flag in the Importer, or import+export might mangle your filenames.

Since modern Unix is attempting to use UTF-8 to gain unicode filename support, the default for this flag is 1 in both modules. If set to 0, you might encounter filenames which can't be represented as latin-1, which throw an error during export.

METHODS

new

  my $exporter= $class->new( %attributes_and_flags )

The constructor accepts values for any of the official attributes. It also accepts all of the flag names, and will move them into the flags attribute for you.

No arguments are required, and the defaults should work for most people.

AUTHOR

Michael Conrad <mconrad@intellitree.com>

COPYRIGHT AND LICENSE

This software is copyright (c) 2013 by Michael Conrad, and IntelliTree Solutions llc.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.