Test::Smoke::Syncer::Snapshot

This handles syncing from an HTTP snapshot (Porting/make_snapshot.pl) It should only be visible from the "parent-package" so no direct user-calls on this.

Test::Smoke::Syncer::Snapshot->new( %args )

This crates the new object. Keys for %args:

* ddir:      destination directory ( ./perl-current )
* snapurl:   the server to get the download from
* snaptar:   howto untar ( Archive::Tar or 'gzip -d -c %s | tar x -' )
* v:         verbose

$syncer->sync( )

Fetch the file. Remove the current source-tree and extract the tarball or zip.

$syncer->_fetch_archive( )

_fetch_archive() downloads the archive

$syncer->_extract_archive( )

_extract_archive() checks the tar attribute to find out how to extract the archive. This could be an external command or the Archive::Tar/Comperss::Zlib modules.

$syncer->_extract_with_Archive_Tar( )

_extract_with_Archive_Tar() uses the Archive::Tar and Compress::Zlib modules to extract the archive. (This tested verry slow on my Linux box!)

$syncer->_extract_with_external( )

_extract_with_external() uses $self->{snaptar} as a sprintf() template to build a command. Yes that might be dangerous!

__get_directory_names( [$dir] )

[This is not a method]

__get_directory_names() retruns all directory names from $dir || cwd(). It does not look at symlinks (there should not be any in the perl source-tree).

__vms_untargz( $untargz, $tgzfile, $verbose )

Gunzip and extract the archive in $tgzfile using a small DCL script

COPYRIGHT

(c) 2002-2013, All rights reserved.

* Abe Timmerman <abeltje@cpan.org>

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

See:

* <http://www.perl.com/perl/misc/Artistic.html>,
* <http://www.gnu.org/copyleft/gpl.html>

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.