Manage multiple repositories
Project description
.. image:: https://raw.githubusercontent.com/TankerHQ/sdk-js/master/src/public/tanker.png
:target: #readme
.. role:: raw-html(raw)
:format: html
:raw-html:`<br />`
.. image:: https://img.shields.io/github/license/TankerHQ/tsrc.svg
:target: https://github.com/TankerHQ/tsrc/blob/master/LICENSE
.. image:: https://img.shields.io/travis/TankerHQ/tsrc.svg?branch=master
:target: https://travis-ci.org/TankerHQ/tsrc
.. image:: https://img.shields.io/codecov/c/github/TankerHQ/tsrc.svg?label=Coverage
:target: https://codecov.io/gh/TankerHQ/tsrc
.. image:: https://img.shields.io/pypi/v/tsrc.svg
:target: https://pypi.org/project/tsrc/
tsrc: manage multiple repos / review automation
===============================================
`Overview`_ · `Installation`_ · `Usage example`_ · `Documentation`_ · `Release notes`_ · `Contributing`_ · `License`_
Overview
---------
tsrc is a command-line tool that helps you manage groups of several git repositories. It also provides some code review automation.
In can be `seen in action on asciinema.org <https://asciinema.org/a/131625>`_.
Installation
-------------
`tsrc` is `available on pypi <https://pypi.org/project/tsrc>`_ an can be installed via ``pip``. It requires **Python 3.4** or later.
Usage Example
-------------
* Create a *manifest* repository. (``git@example.org/manifest``)
* Push a file named ``manifest.yml`` looking like:
.. code-block:: yaml
repos:
- src: foo
url: git@example.com/foo.git
- src: bar
url: git@example.com/bar.git
* Create a new workspace with all the repositories listed in the manifest:
.. code-block:: console
$ tsrc init git@git.local/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:
.. code-block:: console
$ 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 ✓
* Push current branch for review:
.. code-block:: console
$ cd bar
$ git checkout new-feature
# hackity hack
$ tsrc push
=> Running git push
Branch 'new-feature' set up to track remote branch 'new-feature' from 'origin'.
Everything up-to-date
=> Creating merge request
:: See merge request at https://github.com/foo/bar/pull/42
Documentation
--------------
For more details and examples, please refer to `tsrc documentation <https://TankerHQ.github.io/tsrc/>`_.
Release notes
-------------
Detailed changes for each release are documented in the `changelog <https://tankerhq.github.io/tsrc/changelog/>`_.
Contributing
------------
We welcome feedback, `bug reports <https://github.com/TankerHQ/tsrc/issues>`_, and bug fixes in the form of `pull requests <https://github.com/TankerHQ/tsrc/pulls>`_.
Detailed instructions can be found `in the documentation <https://tankerhq.github.io/tsrc/contrib/>`_.
License
-------
tsrc is licensed under a `BSD 3-Clause license <https://github.com/TankerHQ/tsrc/blob/master/LICENSE>`_.
:target: #readme
.. role:: raw-html(raw)
:format: html
:raw-html:`<br />`
.. image:: https://img.shields.io/github/license/TankerHQ/tsrc.svg
:target: https://github.com/TankerHQ/tsrc/blob/master/LICENSE
.. image:: https://img.shields.io/travis/TankerHQ/tsrc.svg?branch=master
:target: https://travis-ci.org/TankerHQ/tsrc
.. image:: https://img.shields.io/codecov/c/github/TankerHQ/tsrc.svg?label=Coverage
:target: https://codecov.io/gh/TankerHQ/tsrc
.. image:: https://img.shields.io/pypi/v/tsrc.svg
:target: https://pypi.org/project/tsrc/
tsrc: manage multiple repos / review automation
===============================================
`Overview`_ · `Installation`_ · `Usage example`_ · `Documentation`_ · `Release notes`_ · `Contributing`_ · `License`_
Overview
---------
tsrc is a command-line tool that helps you manage groups of several git repositories. It also provides some code review automation.
In can be `seen in action on asciinema.org <https://asciinema.org/a/131625>`_.
Installation
-------------
`tsrc` is `available on pypi <https://pypi.org/project/tsrc>`_ an can be installed via ``pip``. It requires **Python 3.4** or later.
Usage Example
-------------
* Create a *manifest* repository. (``git@example.org/manifest``)
* Push a file named ``manifest.yml`` looking like:
.. code-block:: yaml
repos:
- src: foo
url: git@example.com/foo.git
- src: bar
url: git@example.com/bar.git
* Create a new workspace with all the repositories listed in the manifest:
.. code-block:: console
$ tsrc init git@git.local/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:
.. code-block:: console
$ 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 ✓
* Push current branch for review:
.. code-block:: console
$ cd bar
$ git checkout new-feature
# hackity hack
$ tsrc push
=> Running git push
Branch 'new-feature' set up to track remote branch 'new-feature' from 'origin'.
Everything up-to-date
=> Creating merge request
:: See merge request at https://github.com/foo/bar/pull/42
Documentation
--------------
For more details and examples, please refer to `tsrc documentation <https://TankerHQ.github.io/tsrc/>`_.
Release notes
-------------
Detailed changes for each release are documented in the `changelog <https://tankerhq.github.io/tsrc/changelog/>`_.
Contributing
------------
We welcome feedback, `bug reports <https://github.com/TankerHQ/tsrc/issues>`_, and bug fixes in the form of `pull requests <https://github.com/TankerHQ/tsrc/pulls>`_.
Detailed instructions can be found `in the documentation <https://tankerhq.github.io/tsrc/contrib/>`_.
License
-------
tsrc is licensed under a `BSD 3-Clause license <https://github.com/TankerHQ/tsrc/blob/master/LICENSE>`_.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
tsrc-0.6.5.tar.gz
(34.4 kB
view hashes)
Built Distribution
tsrc-0.6.5-py3-none-any.whl
(48.9 kB
view hashes)