Why not adopt me?
NAME
Git::Megapull - clone or update all repositories found elsewhere
VERSION
version 0.101752
OVERVIEW
Achtung! Probably you can skip using Git::Megapull. Instead, go check out App::GitGot.
This library implements the git-megapull
command, which will find a list of remote repositories and clone them. If they already exist, they will be updated from their origins, instead.
USAGE
git-megapull [-bcs] [long options...]
-b --bare produce bare clones
-c --clonely only clone things that do not exist; skip others
-s --source the source class (or a short form of it)
The source may be given as a full Perl class name prepended with an equals sign, like =Git::Megapull::Source::Github
or as a short form, dropping the standard prefix. The previous source, for example, could be given as just Github
.
If no --source
option is given, the megapull.source option in ~/.gitconfig will be consulted.
TODO
* prevent updates that are not fast forwards
* do not assume "master" is the correct branch to merge
WRITING SOURCES
Right now, the API for how sources work is pretty lame and likely to change. Basically, a source is a class that implements the repo_uris
method, which returns a hashref like { $repo_name => $repo_uri, ... }
. This is likely to be changed slightly to instantiate sources with parameters and to allow repos to have more attributes than a name and URI.
AUTHOR
Ricardo SIGNES <rjbs@cpan.org>
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.