summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Changes5
-rw-r--r--dist.ini2
-rw-r--r--lib/API/GitForge/Role/GitForge.pm10
-rw-r--r--lib/App/git/nuke_forge_fork.pm2
4 files changed, 16 insertions, 3 deletions
diff --git a/Changes b/Changes
index cc506c8..f678f79 100644
--- a/Changes
+++ b/Changes
@@ -2,6 +2,11 @@ Revision history for API::GitForge
{{$NEXT}}
+0.004 2020-03-13 17:28:05-07:00 America/Phoenix
+ - API::GitForge::Role::GitForge::clean_repo(): reinstate
+ workaround -- bypass Git::Wrapper when pushing the gitforge
+ branch.
+
0.003 2020-03-10 09:21:28-07:00 America/Phoenix
- API::GitForge::GitLab::_ensure_repo(): avoid an unnecessary API
call.
diff --git a/dist.ini b/dist.ini
index 5ae0ca9..7dccb21 100644
--- a/dist.ini
+++ b/dist.ini
@@ -4,7 +4,7 @@ license = GPL_3
copyright_holder = Sean Whitton <spwhitton@spwhitton.name>
copyright_year = 2017, 2020
-version = 0.003
+version = 0.004
[PkgVersion]
[PodWeaver]
diff --git a/lib/API/GitForge/Role/GitForge.pm b/lib/API/GitForge/Role/GitForge.pm
index 52760ff..953eb91 100644
--- a/lib/API/GitForge/Role/GitForge.pm
+++ b/lib/API/GitForge/Role/GitForge.pm
@@ -119,7 +119,15 @@ sub clean_fork {
$git->add("README.md");
$git->commit({ message => "Temporary fork for pull request(s)" });
- $git->push($fork_uri, "master:gitforge");
+ # We should be able to just say
+ #
+ # $git->push($fork_uri, "master:gitforge");
+ #
+ # but that hangs indefinitely when pushing to (at least) Debian's
+ # GitLab instance. So just bypass Git::Wrapper and do the push
+ # ourselves for now
+ system qw(git -C), $git->dir, "push", $fork_uri, "master:gitforge";
+
$self->_clean_config_fork($_[0]);
# assume that if we had to create the gitforge branch, we just
diff --git a/lib/App/git/nuke_forge_fork.pm b/lib/App/git/nuke_forge_fork.pm
index 773d863..8505da9 100644
--- a/lib/App/git/nuke_forge_fork.pm
+++ b/lib/App/git/nuke_forge_fork.pm
@@ -69,7 +69,7 @@ sub main {
exit unless $term->ask_yn(prompt => "Are you sure?");
}
- my ($forge_domain, $upstream_repo) = remote_forge_info $upstream ;
+ my ($forge_domain, $upstream_repo) = remote_forge_info $upstream;
my $forge = new_from_domain
domain => $forge_domain,
access_token => forge_access_token $forge_domain;