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
Metadata
Release files for gitlab-sync 0.2.8
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| gitlab-sync-0.2.8.tar.gz | 13.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| gitlab_sync-0.2.8-py2-none-any.whl | Python 2 | none | any | Details |
Total release size: 23.6 kB
Release files / gitlab-sync-0.2.8.tar.gz
| Download URL | gitlab-sync-0.2.8.tar.gz |
|---|---|
| Size | 13.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
cfa04315b983b37b7bbf0e2a61b37d3fac6d269c6140180cc9fc74d234b3246d
|
|
BLAKE2b-256 checksum How to use checksums |
3457d781158cb81d0bbbc08fb8e823d5431cbe5c51a6557a7c4d4d8a8cb14265
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/40.0.0 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/3.6.4
|
Release files / gitlab_sync-0.2.8-py2-none-any.whl
| Download URL | gitlab_sync-0.2.8-py2-none-any.whl |
|---|---|
| Size | 10.0 kB |
| Tags | Python 2 |
|
SHA-256 checksum How to use checksums |
7b275f5b65ebf14a5b36793398a248a284077f011252d340b7a1f12926a248c2
|
|
BLAKE2b-256 checksum How to use checksums |
16ba4df17baf0127fd6d92b8b86f2a37e67685281ef0f005a01bce6c55761c88
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/40.0.0 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/3.6.4
|