https://github.com/rosettatype/repos
Quick and dirty Python script to track multiple Git repositories and easily fetch updates
https://github.com/rosettatype/repos
git python
Last synced: about 1 month ago
JSON representation
Quick and dirty Python script to track multiple Git repositories and easily fetch updates
- Host: GitHub
- URL: https://github.com/rosettatype/repos
- Owner: rosettatype
- License: mit
- Created: 2015-06-29T07:26:01.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2016-01-01T19:11:54.000Z (almost 10 years ago)
- Last Synced: 2025-04-01T20:51:35.283Z (8 months ago)
- Topics: git, python
- Language: Python
- Homepage:
- Size: 4.88 KB
- Stars: 7
- Watchers: 3
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 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](https://github.com/ashur/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:
``` bash
$ repos add
```
`` is best kept short and without spaces. E.g.:
``` bash
$ repos add myproject ~/Project/MyMy/
```
Add all repos in subdirectories of to the list, names are generated automatically from the relative path:
``` bash
$ repos add all
```
Remove repo with from the list:
``` bash
$ repos rm
```
Pull updates for repo (uses: `git pull` and `git submodule update --init --recursive`):
``` bash
$ repos pull
```
or identical:
``` bash
$ repos up
```
Push updates for repo (uses: `git push origin master`):
``` bash
$ repos push
```
Enable repo so it is processed when `all` is used as a name (default is enabled):
``` bash
$ repos enable
```
Disable repo so it is not processed when `all` is used as a name:
``` bash
$ repos disable
```
Show repo details:
``` bash
$ repos show
```
Show list of all tracked repos:
``` bash
$ 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](LICENCE.md)