Skip to main content

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

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.

Release history Release notifications | RSS feed

This release

0.16.0 This release

2 files

0.15.1

2 files

0.15.0

2 files

0.14.0

2 files

0.13.4

2 files

0.13.3

2 files

0.13.2

2 files

0.13.1

1 file

0.13.0

1 file

0.12.0

1 file

0.11.0

2 files

0.10.0

2 files

0.9.1

2 files

0.9.0

2 files

0.8.1

2 files

0.8.0

2 files

0.7.2

2 files

0.7.1

2 files

0.7.0

2 files

0.6.1

2 files

0.6.0

2 files

0.5.0

2 files

0.4.0

2 files

0.3.1

2 files

0.3.0

2 files

0.2.1

2 files

0.2.0

2 files

0.1.1

2 files

0.1.0

2 files

Supported by

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