/gitcheck

Check multiple git repository in one pass

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

gitcheck

Info

The upstream project is abandoned and this repo includes upstream PRs and minor fixes.

Installation

pip install git+https://github.com/tessus/gitcheck.git

Options

-v, --verbose                        Show files & commits
--debug                              Show debug message
--init-email                         Initialize mail.properties file (has to be modified by user using JSON Format)
-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
-a, --all-branch                     Show the status of all branches
-l <re>, --localignore=<re>          ignore changes in local files which match the regex <re>
-s, --stash                          Show number of stashed changes
-c --commit                          Show short commit hash (git rev-parse --short HEAD)
-C --Commit                          Show long commit hash (git rev-parse HEAD)

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/

Original author's description

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