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 )