Git-Megapull
view release on metacpan or search on metacpan
lib/Git/Megapull/Source/Github.pm view on Meta::CPAN
my %repo_uri;
for my $repo (@repos) {
# next if $repo->{private} and not $opt->{private};
$repo_uri{ $repo->{name} } = sprintf 'git@github.com:%s/%s.git',
$login,
$repo->{name};
}
return \%repo_uri;
}
sub _get_json {
my $url = shift;
my $ua = LWP::UserAgent->new;
$ua->env_proxy;
my $response = $ua->get($url);
if ($response->is_success) {
return $response->content;
} else {
die $response->status_line;
}
}
1;
__END__
=pod
=head1 NAME
Git::Megapull::Source::Github - clone/update all your repositories from github.com
=head1 VERSION
version 0.101752
=head1 OVERVIEW
This source for C<git-megapull> will look for a C<github> section in the file
F<~/.gitconfig>, and will use the login and token entries to auth with the
GitHub API, and get a list of your repositories.
=head1 METHODS
=head2 repo_uris
This routine does all the work and returns what Git::Megapull expects: a
hashref with repo names as keys and repo URIs as values.
=head1 WARNING
This source will probably be broken out into its own dist in the future.
=head1 TODO
* add means to include/exclude private repos
* add means to use alternate credentials
* investigate using Github::API
=head1 AUTHOR
Ricardo SIGNES <rjbs@cpan.org>
=head1 COPYRIGHT AND LICENSE
This software is copyright (c) 2013 by Ricardo SIGNES.
This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.
=cut
( run in 0.594 second using v1.01-cache-2.11-cpan-140bd7fdf52 )