Check multiple git repository in one pass / Vérifiez vos dépôt git en une seule passe
Python Makefile
Latest commit 48a7a23 Nov 21, 2016 @badele Fix pep8 syntax

README.rst

https://travis-ci.org/badele/gitcheck.svg?branch=unittest

gitcheck

When working simultaneously on several git repositories, it is easy to loose the overview on the advancement of your work. This is why I decided to write gitcheck, a tool which reports the status of the repositories it finds in a file tree. This report can of course be displayed on the terminal but also be sent by email.

Now you can also check your host git from an docker container. See the docker section

Installation

pip install git+git://github.com/badele/gitcheck.git

Examples

Simple report

In a simple invocation, gitcheck shows for each repository found in the file tree rooted at the current working directory if they have changes to be committed or commits to be pushed.

$ gitcheck.py
Gitcheck simple report

Gitcheck simple report

Detailed report

This invocation is substantially identical to the previous one, but the generated report also enumerates modified files and pending commits.

$ gitcheck.py -v
Gitcheck detailed report

Gitcheck detailed report

Gitcheck customization

You can customize the output color, the gitcheck try to find ~/mygitcheck.py if it found, it is imported, see the mygitcheck.py.sample

Docker container

You can check your git repositories from an docker container (from your host)

From the host, you can use this command

$ docker run --rm -v `pwd`:/files:ro badele/alpine-gitcheck

or

$ docker run --rm -v `pwd`:/files:ro badele/alpine-gitcheck cd /files && gitcheck OPTIONS

You can also create a shell function into the host, exemple for ZSH

gitcheck (){
    docker run --rm -v `pwd`:/files:ro badele/alpine-gitcheck
}
#
$ gitcheck

More info about the gitcheck container https://registry.hub.docker.com/u/badele/alpine-gitcheck/

Options

-v, --verbose                        Show files & commits
--debug                              Show debug message
-r, --remote                         force remote update(slow)
-u, --untracked                      Show untracked files
-b, --bell                           bell on action needed
-w <sec>, --watch=<sec>              after displaying, wait <sec> and run again
-i <re>, --ignore-branch=<re>        ignore branches matching the regex <re>
-d <dir>, --dir=<dir>                Search <dir> for repositories
-m <maxdepth>, --maxdepth=<maxdepth> Limit the depth of repositories search
-q, --quiet                          Display info only when repository needs action
-e, --email                          Send an email with result as html, using mail.properties parameters
--init-email                         Initialize mail.properties file (has to be modified by user using JSON Format)

French version

A French version of this document is available here: http://bruno.adele.im/projets/gitcheck/