Test;:Smoke::Syncer::Base - Base class for all the syncers.



Return a new instance.


Get/Set verbosity.


Abstract method.

$syncer->_clear_souce_tree( [$tree_dir] )

[ Method | private-ish ]

_clear_source_tree() removes all files in the source-tree using File::Path::rmtree(). (See File::Path for caveats.)

If $tree_dir is not specified, $self->{ddir} is used.

$syncer->_relocate_tree( $source_dir )

[ Method | Private-ish ]

_relocate_tree() uses File::Copy::move() to move the source-tree from $source_dir to its destination ($self->{ddir}).

$syncer->check_dot_patch( )

[ Method | Public ]

check_dot_patch() checks if there is a '.patch' file in the source-tree. It will try to create one if it is not there (this is the case for snapshots).

It returns the patchlevel found or undef.

version_from_patchlevel_h( $ddir )

version_from_patchlevel_h() returns a "dotted" version as derived from the patchlevel.h file in the distribution.


Checks, in a git way, if we are in a real git repository directory.


If this is a git repo, run the Porting/ to generate the .patch file

$syncer->clean_from_directory( $source_dir[, @leave_these] )

clean_from_directory() uses File::Find to get the contents of $source_dir and compare these to {ddir} and remove all other files.

The contents of @leave_these should be in "MANIFEST-format" (See Test::Smoke::SourceTree).


pre_sync() should be called by the sync() methods to setup the sync environment. Currently only useful on OpenVMS.


post_sync() should be called by the sync() methods to unset the sync environment. Currently only useful on OpenVMS.


(c) 2002-2013, All rights reserved.

  * Abe Timmerman <>

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


  * <>,
  * <>

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.