App-Puppet-Environment-Updater

 view release on metacpan or  search on metacpan

lib/App/Puppet/Environment/Updater.pm  view on Meta::CPAN

	$self->get_proxy_logger(BLUE.'[create-branch] '.RESET)->log(
		'Creating local branch '.$branch.' from '.$self->remote_branch_for($branch).'...'
	);
	$self->get_git()->checkout('-b', $branch, $self->remote_branch_for($branch));

	return;
}



sub update_branch {
	my ($self, $branch) = @_;

	my $logger = $self->get_proxy_logger(YELLOW.'[update-branch] '.RESET);

	my $remote_branch = $self->remote_branch_for($branch);
	$logger->log(
		'Updating local branch '.$branch.' from '.$remote_branch.'...'
	);
	$self->get_git()->checkout($branch);
	try {

lib/App/Puppet/Environment/Updater.pm  view on Meta::CPAN


	my $logger = $self->get_proxy_logger(MAGENTA.'[merge] '.RESET);
	$logger->log('Merging '.$from.' into '.$to.'...');
	$self->get_git()->checkout($to);
	$logger->log($self->get_git()->merge('--no-ff', $from));
	return;
}



sub update_submodules {
	my ($self) = @_;

	my $workdir = pushd($self->get_workdir());
	my $logger = $self->get_proxy_logger(YELLOW.'[update-submodules] '.RESET);
	$logger->log('Updating submodules...');
	if (my @updated = $self->get_git()->submodule('update', '--init')) {
		$logger->log($_) for @updated;
	}
	else {
		$logger->log('No submodules to update.');

t/lib/App/Puppet/Environment/UpdaterTest.pm  view on Meta::CPAN

	my $app = $self->create_updater();
	$app->create_and_switch_to_branch('foo');
	is_deeply(
		[ '* foo', '  master' ],
		[ $self->{work_git}->branch() ],
		'branch created'
	);
}


sub update_branch_test : Test(3) {
	my ($self) = @_;

	my $app = $self->create_updater();
	$app->update_branch('master');
	is(
		($self->{work_git}->show())[0],
		($self->{env_git}->show())[0],
		'up to date before commit on upstream master'
	);



( run in 0.702 second using v1.01-cache-2.11-cpan-95122f20152 )