synchronise GitLab repositories
Project description
gitlab-sync
This provides the gitlab-sync tool which clones GitLab and updates repositories.
Config
You will need to have SSH access configured for GitLab, and have created a personal access token with API access.
The config goes in ~/.config/gitlab-sync.toml
or ~/.gitlab-sync.toml
,
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"
Usage
$ gitlab-sync local-update
Strategies
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.
mirror
- 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 ag
.
The local copies should not be modified by users.
To do
- 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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
gitlab-sync-0.2.6.tar.gz
(13.7 kB
view hashes)
Built Distribution
Close
Hashes for gitlab_sync-0.2.6-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 984dca14323a602ec92e19c23100016f4200781ab915c0b4eceea8ffed4ce215 |
|
MD5 | 2839ab3ce8f9e172da9f00d8560ec9a6 |
|
BLAKE2b-256 | ff38ba29145aa5ceced1e719b2e69ff591fa35b27fe5d4e13d62d06bca493029 |