synchronise GitLab repositories
This provides the gitlab-sync tool which clones GitLab and updates repositories.
The config goes in
which is TOML.
["~/team-x"] access-token = "9koXpg98eAheJpvBs5tK" # you can see the paths of groups from the URL on GitLab paths = [ "path/to/team-x" ] # strip the common prefix from the given path strip-path = true strategy = "mirror" ["~/gitlab"] # get the gitlab access token from running a command access-token = ["pass", "GitLab/api-access-token"] # paths to clone from GitLab, can include slashes for groups/projects paths = [ "mintel", "obristow" ] strategy = "mirror"
$ gitlab-sync local-update
You have to define a strategy for each local copy you define in config, the strategy defines what will happen when gitlab-sync runs over the given copy.
- delete repositories which no longer exist remotely
- move repositories which have been moved remotely
- update local repositories
- clean local repositories (prune+gc)
- clone new repositories
This is good for having a local copy which you can use to perform searches
in using something like
The local copies should not be modified by users.
- flesh out integration tests
- cater for new repositories being made locally and pushed remotely
- compare (toasted-)marshmallow as a replacement for attr+voluptious - marshmallow uses attr
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
|Filename, size & hash SHA256 hash help||File type||Python version||Upload date|
|gitlab_sync-0.2.7-py3-none-any.whl (10.0 kB) Copy SHA256 hash SHA256||Wheel||py3|
|gitlab-sync-0.2.7.tar.gz (13.7 kB) Copy SHA256 hash SHA256||Source||None|