App-Slaughter
view release on metacpan or search on metacpan
lib/Slaughter/Transport/rsync.pm view on Meta::CPAN
All the implementation, except for the setup of some variables, comes from that
base class.
=cut
=head1 IMPLEMENTATION
The following commands are set in the L</_init> method:
=over 8
=item cmd_clone
This is set to "C<rsync -qazr>".
=item cmd_update
This is set to "C<rsync -qazr>" - identical to that used in the clone, as rsync
is always incremental in nature.
=item cmd_version
This is set to "C<rsync --version>".
=item name
This is set to "C<rsync>".
=back
=cut
use strict;
use warnings;
package Slaughter::Transport::rsync;
#
# The version of our release.
#
our $VERSION = "3.0.6";
use parent 'Slaughter::Transport::revisionControl';
=head2 new
Create a new instance of this object.
=cut
sub new
{
my ( $class, %args ) = @_;
return $class->SUPER::new(%args);
}
=head2 _init
Initialiaze this object, by setting up the rsync-specific commands, etc.
=cut
sub _init
{
my ($self) = (@_);
#
# The name of our derived transport.
#
$self->{ 'name' } = "rsync";
#
# The command to invoke the version of our revision control system.
# Used to test that it is installed.
#
$self->{ 'cmd_version' } = "rsync --version";
#
# The command to clone our remote repository.
#
$self->{ 'cmd_clone' } = "rsync -qazr --delete";
$self->{ 'cmd_clone' } .= " $self->{'transportargs'} "
if ( $self->{ 'transportargs' } );
$self->{ 'cmd_clone' } .= " #SRC# #DST#";
#
# The command to update our repository - NOT USED
#
# In the case or rsync an update is the same as a clone
#
$self->{ 'cmd_update' } = $self->{ 'cmd_clone' };
}
1;
=head1 AUTHOR
Steve Kemp <steve@steve.org.uk>
=cut
=head1 LICENSE
Copyright (c) 2010-2015 by Steve Kemp. All rights reserved.
This module is free software;
you can redistribute it and/or modify it under
the same terms as Perl itself.
The LICENSE file contains the full text of the license.
( run in 0.616 second using v1.01-cache-2.11-cpan-98e64b0badf )