summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Changes6
-rw-r--r--dist.ini2
-rw-r--r--lib/API/GitForge/GitLab.pm7
-rw-r--r--lib/API/GitForge/Role/GitForge.pm3
4 files changed, 12 insertions, 6 deletions
diff --git a/Changes b/Changes
index f678f79..1fbbfea 100644
--- a/Changes
+++ b/Changes
@@ -2,6 +2,12 @@ Revision history for API::GitForge
{{$NEXT}}
+0.005 2020-05-24 08:04:55-07:00 America/Phoenix
+ - API::GitForge::Role::GitForge::clean_repo(): don't continue if
+ fail to push the gitforge branch.
+ - API::GitForge::GitLab::_clean_config_repo(): use target project
+ namespace rather than always using the user's namespace.
+
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
diff --git a/dist.ini b/dist.ini
index 7dccb21..3be89a7 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.004
+version = 0.005
[PkgVersion]
[PodWeaver]
diff --git a/lib/API/GitForge/GitLab.pm b/lib/API/GitForge/GitLab.pm
index 1e620d8..605b79b 100644
--- a/lib/API/GitForge/GitLab.pm
+++ b/lib/API/GitForge/GitLab.pm
@@ -80,12 +80,11 @@ sub _assert_fork_has_parent {
}
sub _clean_config_repo {
- my ($self, $upstream) = @_;
- my (undef, $repo) = _extract_project_id($upstream);
- my $user = $self->{_api}->current_user->{username};
+ my ($self, $target) = @_;
+ my ($ns, $repo) = _extract_project_id($target);
$self->{_api}->edit_project(
- "$user/$repo",
+ "$ns/$repo",
{
issues_access_level => "disabled",
merge_requests_access_level => "disabled",
diff --git a/lib/API/GitForge/Role/GitForge.pm b/lib/API/GitForge/Role/GitForge.pm
index 953eb91..1301f88 100644
--- a/lib/API/GitForge/Role/GitForge.pm
+++ b/lib/API/GitForge/Role/GitForge.pm
@@ -126,7 +126,8 @@ sub clean_fork {
# 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";
+ system qw(git -C), $git->dir, "push", $fork_uri, "master:gitforge"
+ or croak "failed to push the gitforge branch to $fork_uri";
$self->_clean_config_fork($_[0]);