Quick and dirty Python script to track multiple Git repositories and easily fetch updates for them.
It stores a list of repositories in a file .repos
in your home folder, so you can refer to them with simple short names or all together.
You might want to consider using Pug which is prettier and more versatile. I just felt like Python. I tried to keep the command-line interface similar.
For all commands except repos list
, you can use special name all
to process all tracked repos (e.g. repos pull all
). For pull/up
and push
this uses only repos that are enabled (see below).
Add repo to the list:
$ repos add <name> <path>
<name>
is best kept short and without spaces. E.g.:
$ repos add myproject ~/Project/MyMy/
Add all repos in subdirectories of to the list, names are generated automatically from the relative path:
$ repos add all <path>
Remove repo with from the list:
$ repos rm <name>
Pull updates for repo (uses: git pull
and git submodule update --init --recursive
):
$ repos pull <name>
or identical:
$ repos up <name>
Push updates for repo (uses: git push origin master
):
$ repos push <name>
Enable repo so it is processed when all
is used as a name (default is enabled):
$ repos enable <name>
Disable repo so it is not processed when all
is used as a name:
$ repos disable <name>
Show repo details:
$ repos show <name>
Show list of all tracked repos:
$ repos list
Note: this is a result of my procrastination. Do not expect me to make it less dirty.
Requires Python 2.5 or higher I guess.
Copyright (c) 2015 David Březina. MIT licence