Skip to content

quentinvernot/tsrc

 
 

Repository files navigation

tsrc: manage multiple repos / GitLab automation

image

image

image

Demo

tsrc demo on asciinema.org

Documentation

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

Screenshots

  • tsrc sync

image

  • tsrc log

image

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

About

Manage several git repositories / GitLab automation

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%