Metadata-Version: 2.1
Name: tsrc
Version: 2.0.0
Summary: Manage groups of git repositories
Home-page: https://github.com/TankerHQ/tsrc
License: BSD-3-Clause
Author: Dimitri Merejkowsky
Author-email: d.merej@gmail.com
Requires-Python: >=3.5,<4.0
Classifier: License :: OSI Approved :: BSD License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Requires-Dist: attrs (>=19.3.0,<20.0.0)
Requires-Dist: cli-ui (>=0.10.0,<0.11.0)
Requires-Dist: colored_traceback (>=0.3.0,<0.4.0)
Requires-Dist: path (>=13.1.0,<14.0.0)
Requires-Dist: requests (>=2.22.0,<3.0.0)
Requires-Dist: ruamel.yaml (>=0.16.7,<0.17.0)
Requires-Dist: schema (>=0.7.1,<0.8.0)
Requires-Dist: tabulate (>=0.8.6,<0.9.0)
Requires-Dist: unidecode (>=1.1.1,<2.0.0)
Project-URL: Documentation, https://tankerhq.github.io/tsrc
Project-URL: Repository, https://github.com/TankerHQ/tsrc
Description-Content-Type: text/x-rst

.. image::  https://raw.githubusercontent.com/TankerHQ/sdk-js/master/src/public/tanker.png
   :target: #readme

|

.. image:: https://img.shields.io/github/license/TankerHQ/tsrc.svg
   :target: https://github.com/TankerHQ/tsrc/blob/master/LICENSE

.. image:: https://github.com/TankerHQ/tsrc/workflows/tests/badge.svg
   :target: https://github.com/TankerHQ/tsrc/actions

.. image:: https://github.com/TankerHQ/tsrc/workflows/linters/badge.svg
   :target: https://github.com/TankerHQ/tsrc/actions

.. 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 groups of git repositories
========================================

`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 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.5** 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 ✓


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>`_.

