Skip to main content

Manage multiple repositories

Project description

tsrc
====

.. image:: https://travis-ci.org/TankerApp/tsrc.svg?branch=master
:target: https://travis-ci.org/TankerApp/tsrc

.. image:: https://badge.fury.io/py/tsrc.png
:target: https://pypi.org/project/tsrc/

Manage multiple git repos.

License
-------

BSD

Demo
----

`tsrc demo on asciinema.org <https://asciinema.org/a/131625>`_

Screenshots
-----------

* ``tsrc sync``

.. image:: https://dmerej.info/blog/pics/tsrc-sync.png

* ``tsrc log``

.. image:: https://dmerej.info/blog/pics/tsrc-log.png


Documentation
--------------

See https://tankerapp.github.io/tsrc/


Tutorial
---------

Getting started
+++++++++++++++

* Make sure you are using **Python3.3** or higher.

* Install ``tsrc`` with ``pip3`` as usual.

* Create a *manifest* repository. (``git@example.org/manifest``)

* Push a file named ``manifest.yml`` looking like::


repos:
- src: foo
url: git@example.com/foo.git

- src: bar
url: git@example.com/bar.git


* Clone the repositories with::


$ mkdir workspace
$ cd workspace
$ tsrc init git@example/manifest.git

In this example:

* ``foo`` will be cloned in ``<workspace>/foo`` using ``git@example.com:foo.git`` origin url.
* Similarly, ``bar`` will be cloned in ``<workspace>/bar`` using ``git@example.com/bar.git``

Managing Merge Requests
+++++++++++++++++++++++

* Generate a token from GitLab

* Add the *http* url to the manifest::

gitlab:
url: http://gitlab.local

* Create a ``~/.config/tsrc.yml`` looking like::

auth:
gitlab:
token: <YOUR TOKEN>


* Start working on your branch

* Create the pull request::

$ tsrc push --assignee <an octive user>

* When the review is done, tell GitLab to merge it once the CI passes::

$ tsrc push --accept


Why not Google repo?
-------------------

See the `FAQ <https://tankerapp.github.io/tsrc/faq/#why_not_repo>`_


Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for tsrc, version 0.2.0
Filename, size File type Python version Upload date Hashes
Filename, size tsrc-0.2.0-py3-none-any.whl (34.0 kB) File type Wheel Python version py3 Upload date Hashes View hashes
Filename, size tsrc-0.2.0.tar.gz (24.8 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page