Metabrik-Repository
view release on metacpan or search on metacpan
lib/Metabrik/Devel/Mercurial.pm view on Meta::CPAN
return $r;
}
sub incoming {
my $self = shift;
my ($directory) = @_;
my $cwd = defined($self->shell) && $self->shell->pwd || '/tmp';
$directory ||= '';
if (length($directory)) {
$self->brik_help_run_directory_not_found('incoming', $directory) or return;
if (defined($self->shell)) {
$self->shell->run_cd($directory) or return;
}
else {
chdir($directory) or return $self->log->error("incoming: chdir: $!");
}
}
my $cmd = "hg incoming";
my $r = $self->execute($cmd);
if (length($directory)) {
if (defined($self->shell)) {
$self->shell->run_cd($cwd) or return;
}
else {
chdir($cwd) or return $self->log->error("incoming: chdir: $!");
}
}
return $r;
}
sub pull {
my $self = shift;
my ($directory) = @_;
my $she = $self->shell;
my $cwd = $she->pwd;
$directory ||= '';
if (length($directory)) {
$self->brik_help_run_directory_not_found('pull', $directory) or return;
$she->run_cd($directory) or return;
}
my $cmd = "hg pull -u";
my $r = $self->execute($cmd);
if (length($directory)) {
$she->run_cd($cwd) or return;
}
return $r;
}
# alias to pull
sub update {
my $self = shift;
return $self->pull(@_);
}
sub diff {
my $self = shift;
my ($data) = @_;
$data ||= '.';
my $ref = $self->brik_help_run_invalid_arg('diff', $data, 'ARRAY', 'SCALAR') or return;
if ($ref eq 'ARRAY') {
$data = join(' ', @$data);
}
my $cmd = "hg diff $data";
return $self->execute($cmd);
}
sub add {
my $self = shift;
my ($data) = @_;
$self->brik_help_run_undef_arg('add', $data) or return;
my $ref = $self->brik_help_run_invalid_arg('add', $data, 'ARRAY', 'SCALAR')
or return;
if ($ref eq 'ARRAY') {
$data = join(' ', @$data);
}
my $prev = $self->use_pager;
$self->use_pager(0);
my $cmd = "hg add $data";
my $r = $self->execute($cmd);
$self->use_pager($prev);
return $r;
}
sub commit {
my $self = shift;
my ($data) = @_;
$data ||= '.';
my $ref = $self->brik_help_run_invalid_arg('commit', $data, 'ARRAY', 'SCALAR')
or return;
if ($ref eq 'ARRAY') {
$data = join(' ', @$data);
}
my $prev = $self->use_pager;
$self->use_pager(0);
my $cmd = "hg commit $data";
my $r = $self->execute($cmd);
( run in 0.753 second using v1.01-cache-2.11-cpan-85d3896f969 )