tsrc: manage groups of git repositories
This project was originally hosted on the TankerHQ organization, which was my employer from 2016 to 2021. They kindly agreed to give back ownership of this project to me. Thanks!
tsrc is a command-line tool that helps you manage groups of several git repositories.
It can be seen in action on asciinema.org.
tsrc is available on pypi and can be installed via
pip if you know what you are doing).
It requires Python 3.6 or later.
- Create a manifest repository. (
- Push a file named
repos: - url: email@example.com/foo.git dest: foo - url: firstname.lastname@example.org/bar.git dest: bar
- Create a new workspace with all the repositories listed in the manifest:
$ tsrc init email@example.com/manifest.git :: Configuring workspace in /path/to/work ... => Cloning missing repos * (1/2) foo ... * (2/2) bar ... : Configuring remotes Done ✓
- Synchronize all the repositories in the workspace:
$ tsrc sync => Updating manifest ... :: Configuring remotes :: Synchronizing workspace * (1/2) foo => Fetching origin => Updating branch Already up to date * (2/2) bar => Updating branch Updating 29ac0e1..b635a43 Fast-forward bar.txt | 1 + 1 file changed, 1 insertion(+) create mode 100644 bar.txt Done ✓
For more details and examples, please refer to tsrc documentation.
Detailed changes for each release are documented in the changelog.
Detailed instructions can be found in the documentation.
tsrc is licensed under a BSD 3-Clause license.