Quick and dirty Python script to track multiple Git repositories and easily fetch updates
Python
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
LICENCE.md
README.md
repos

README.md

repos

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.

Usage

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