Skip to main content

PyPI version Build Status

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

  1. delete repositories which no longer exist remotely
  2. move repositories which have been moved remotely
  3. update local repositories
  4. clean local repositories (prune+gc)
  5. 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)

Source distribution for gitlab-sync 0.2.8
File Size Uploaded
gitlab-sync-0.2.8.tar.gz 13.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for gitlab-sync 0.2.8
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

0.2.8 This release

2 release files

0.2.7

2 release files

0.2.6

2 release files

0.2.5

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page