Manage several git repositories / review automation
Clone or download
Latest commit d4fd896 Jan 7, 2019


tsrc: manage multiple repos / Review automation


tsrc demo on




  • tsrc sync

  • tsrc log


Getting started

  • Make sure you are using Python3.4 or higher.

  • Install tsrc with pip3 as usual.

  • Create a manifest repository. (

  • Push a file named manifest.yml looking like:

      - src: foo
      - src: bar
  • 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 origin url.
  • Similarly, bar will be cloned in <workspace>/bar using

Managing Merge Requests on GitLab

  • Generate a token from GitLab

  • Add the http url to the manifest:

      url: http://gitlab.local
  • Create a ~/.config/tsrc.yml looking like:

        token: <YOUR TOKEN>
  • Start working on your branch

  • Create the pull request:

    $ tsrc push --assignee <an active user>
  • When the review is done, tell GitLab to merge it once the CI passes:

    $ tsrc push --accept

Managing Pull Requests on GitHub

  • Start working on your branch
  • Run tsrc push once. You will be prompted for your login and password (then a token will be saved so you don't have to authenticate again). The pull request will be created.

You can use the --reviewer option several times to request reviews from your team mates. You can also assign someone to the pull request with the --assign option.

Then you can use tsrc push --merge to merge the pull request, or tsrc push --close to close it.

Why not Google repo?

See the FAQ