[](
https://travis-ci.org/ivanwills/Group-Git)
[](
https://coveralls.io/r/ivanwills/Group-Git?branch=master)
# Group-Git
The `group-git` tool allows you perform operations on many git
repositories at once. For example updating many repositores with the latest
upstream code:
```bash
$ group-git pull
```
Would update all git repositories in the current directory.
Several `git` comands have some extras such as `status` which adds the
`--quiet` parameter which will suppress output for repositories with not
changes.
There are also tool to help with various git repository servers such as
* Github
* Bitbucket Server (nee Stash)
* Gitosis
## Repository Helpers
These helpers allow you to store your credentials in a `group-git.yml`
configuration file and will find all repositories you have access to. If you
use the `group-git pull` command it will automatically clone any repository
not currently downloaded for you.
## Tagging repositories
You can also tag repositories to limit opperations to a subset of available
repositories. There are 3 ways to tag repositories:
* Add a tag file(s) to the root of the repository (eg `.my-tag.tag>)
* Use a tagger library, `Group::Git` comes with two, remore and local which
determine if the repository has a remote or not.
* The Bitbucket server helper will tag repositories with their project.
## Extending with your own commands
`Group::Git` looks for commands in the perl modules path `Group::Git::Cmd`
and it look in the path for any command in the form of `group-git-cmd` or
`git-cmd` as well as supoorting all the built in git commands. If you want
perform an operation you can write your own script put it your path and
`Group::Git` will find it execute it the same was git would.
# INSTALLATION
To install this module from CPAN:
```bash
$ capnm Group::Git
# or if you don't have the cpanm command
$ cpan Group::Git
```
Or from source run the following commands:
```
# with cpanm
$ cpanm .
# without
$ perl Build.PL
$ ./Build
$ ./Build test
$ ./Build install
```
# SUPPORT AND DOCUMENTATION
After installing, you can find documentation for this module with the
perldoc command.
perldoc Group::Git
You can also look for information at:
RT, CPAN's request tracker
http://rt.cpan.org/NoAuth/Bugs.html?Dist=Group-Git
AnnoCPAN, Annotated CPAN documentation
http://annocpan.org/dist/Group-Git
CPAN Ratings
http://cpanratings.perl.org/d/Group-Git
Search CPAN
http://search.cpan.org/dist/Group-Git/
Source Code
git://github.com/ivanwills/Group-Git.git
# COPYRIGHT AND LICENCE
Copyright (C) 2013-2016 Ivan Wills
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.