| Debian::PkgPerl::GitHub(3pm) | Debian Perl packaging Tools | Debian::PkgPerl::GitHub(3pm) |
Debian::PkgPerl::GitHub - Help forwarding a bug or a patch to GitHub
use Debian::PkgPerl::Bug;
use Debian::PkgPerl::Patch;
use Debian::PkgPerl::Message;
use Debian::PkgPerl::GitHub;
my %params = (
url => 'https://github.com/foo/bar/issues',
tracker => 'github',
dist => 'Foo-Bar',
name => 'My Name',
email => 'my.name@example.com',
mailto => 'your.name@example.com',
);
my %bug_info = Debian::PkgPerl::Bug
->new( bug => 123 )
->retrieve_bug_info();
my $bug_msg = Debian::PkgPerl::Message->new(
%params,
info => \%bug_info,
);
print Debian::PkgPerl::GitHub->new(
message => $bug_msg,
ticket => 456,
)->forward();
my %patch_info = Debian::PkgPerl::Patch
->new( patch => 'foo-bar.patch' )
->retrieve_patch_info();
my $patch_msg = Debian::PkgPerl::Message->new(
%params,
info => \%patch_info,
);
print Debian::PkgPerl::GitHub->new(
message => $patch_msg,
fallback => 0,
)->forward();
This module exports several helpers that that provide support for forwarding patches to GitHub as pull requests.
Parameters:
Message to be forwarded to an upstream project.
Existing issue number to forward the bug to.
Enables fallback to forwarding a patch as an issue if pull-request fails for any reason. Default is false.
Environment:
GitHub personal API token. No default.
Organization used to fork upstreams. Defaults to pkg-perl-tools.
Branch name for pull requests. Defaults to "pkg-perl-$^T".
Protocol used to clone a repository. Defaults to ssh. Accepted protocols: ssh, https.
Checks if any member in the GitHub organization has already forked a repository.
Returns:
Boolean value.
Creates a repository fork by an organization.
Returns:
The new forked repository.
Clones a repository in a temporary directory, creates a new branch, applies the patch, commits the change, pushes it and removes the temporary working copy.
Returns:
Nothing.
Returns:
Pull request URL on success, nothing otherwise.
Fallback to forwarding a patch as a bug.
Returns:
Issue URL on success, nothing otherwise.
Forward an issue as a pull request or bug.
Support for off-line testing.
This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.
See http://dev.perl.org/licenses/ for more information.
| 2024-03-04 | pkg-perl-tools 0.78 |