Skip to main content

I am cloneholio! I need syncing of my repos.

Project description

cloneholio

PyPI Version AUR Version

Maintain local backups of all Git repositories belonging to a user or group.

Features:

  • Supports both GitHub and GitLab.
  • Back up all repositories owned by users, groups, and subgroups.
  • Back up individual repositories.
  • Scale to a configurable number of processes.

Installation

Token Setup

GitHub

Create a personal access token (Tokens (classic))) with the following permissions:

  • repo:status

GitLab

Create a personal access token with the following permissions:

  • api (Access the authenticated user's API)

Example

This will back up all repositories owned by the python organization on GitHub.

$ cloneholio -t TOKEN -p github python
INFO Begin "github" processing using "/home/draje/Code/GitLab/nvllsvm/cloneholio"
INFO Processing python/asyncio
INFO Processing python/bpo-builder
...
INFO Processing python/typing
INFO Finished "github" processing 62 repos with 0 failures

Help

$ cloneholio -h
usage: cloneholio [-h] [-n NUM_PROCESSES] -t TOKEN [-p {github,gitlab}]
                  [--insecure] [-u BASE_URL] [-e EXCLUDE] [--exclude-archived]
                  [--exclude-forks] [-d DIRECTORY] [--remove-orphans]
                  [--depth DEPTH | --mirror] [--prune] [-q | -v | --progress]
                  [--list] [--version] [--all]
                  [paths ...]

Maintain local backups of all Git repositories belonging to a user or group.

Token creation:
  - GitLab
    Permissions:  api
    URL:  https://gitlab.com/profile/personal_access_tokens

  - GitHub
    Permissions:  repo:status
    URL:  https://github.com/settings/tokens/new

positional arguments:
  paths

options:
  -h, --help            show this help message and exit
  -n, --num-processes NUM_PROCESSES
                        Number of processes to use
  --depth DEPTH         Corresponds to the git clone --depth option
  --mirror              Maintain bare mirrors (git clone --mirror).
                        Captures all refs; no working tree.
  --prune               With --mirror, prune local refs deleted upstream.
                        Default keeps them.
  -q, --quiet           Suppress informational output
  -v, --verbose         Enable debug logs
  --progress            Show progress bar
  --list                List remote repositories then exit.
  --version             show program's version number and exit
  --all                 Get all groups (GitLab) or organizations (GitHub)

remote configuration:
  -t, --token TOKEN
  -p, --provider {github,gitlab}
  --insecure            Ignore SSL errors
  -u, --base-url BASE_URL
  -e, --exclude EXCLUDE
                        Paths to exclude from backup
  --exclude-archived    exclude archived repositories
  --exclude-forks       exclude repositories that are forks

local configuration:
  -d, --directory DIRECTORY
  --remove-orphans      Remove orphaned directories

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cloneholio-0.16.0.tar.gz (43.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cloneholio-0.16.0-py3-none-any.whl (10.6 kB view details)

Uploaded Python 3

File details

Details for the file cloneholio-0.16.0.tar.gz.

File metadata

  • Download URL: cloneholio-0.16.0.tar.gz
  • Upload date:
  • Size: 43.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.16 {"installer":{"name":"uv","version":"0.11.16","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Arch Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for cloneholio-0.16.0.tar.gz
Algorithm Hash digest
SHA256 e16942c887c424c8a7b89a2eb619dbae13b39376c107c42da531b9bf8613d763
MD5 07590178e8da1f1fe85753f12f6becfa
BLAKE2b-256 64ce6f11a2da3d9f133f5855a85bfa12a8e4b50230a64b509727318dcbf169e0

See more details on using hashes here.

File details

Details for the file cloneholio-0.16.0-py3-none-any.whl.

File metadata

  • Download URL: cloneholio-0.16.0-py3-none-any.whl
  • Upload date:
  • Size: 10.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.16 {"installer":{"name":"uv","version":"0.11.16","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Arch Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for cloneholio-0.16.0-py3-none-any.whl
Algorithm Hash digest
SHA256 52e97e017bda07e308fc61d661560235668e1a8775acc277e147717127339e7e
MD5 912f1ab909108ae487d3b43d584d1df0
BLAKE2b-256 bbf955f78c54367c87cb6a647c5fe978729afa0ef0301d075915993902b4ccfa

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page