API-GitForge
view release on metacpan or search on metacpan
lib/API/GitForge/Role/GitForge.pm view on Meta::CPAN
sub clean_fork {
my $self = shift;
my $fork_uri = $self->_ensure_fork($_[0]);
my $temp = tempdir CLEANUP => 1;
my $git = Git::Wrapper->new($temp);
$git->init;
my @fork_branches
= map { m#refs/heads/#; $' } $git->ls_remote("--heads", $fork_uri);
return $fork_uri if grep /\Agitforge\z/, @fork_branches;
open my $fh, ">", catfile $temp, "README.md";
say $fh "This repository exists only in order to submit pull request(s).";
close $fh;
$git->add("README.md");
$git->commit({ message => "Temporary fork for pull request(s)" });
# We should be able to just say
#
lib/App/git/nuke_forge_fork.pm view on Meta::CPAN
try {
$git->rev_parse({ git_dir => 1 });
} catch {
die "pwd doesn't look like a git repository ..\n";
};
#>>>
GetOptions "upstream=s" => \$upstream;
my @fork_branches
= grep !/\Agitforge\z/,
map { m#refs/heads/#; $' } $git->ls_remote(qw(--heads fork));
if (@fork_branches) {
say "Would delete the following branches:";
say " $_" for @fork_branches;
print "\n";
exit unless $term->ask_yn(prompt => "Are you sure?");
}
my ($forge_domain, $upstream_repo) = remote_forge_info $upstream;
my $forge = new_from_domain
domain => $forge_domain,
( run in 1.343 second using v1.01-cache-2.11-cpan-49f99fa48dc )