cloneholio
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)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e16942c887c424c8a7b89a2eb619dbae13b39376c107c42da531b9bf8613d763
|
|
| MD5 |
07590178e8da1f1fe85753f12f6becfa
|
|
| BLAKE2b-256 |
64ce6f11a2da3d9f133f5855a85bfa12a8e4b50230a64b509727318dcbf169e0
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
52e97e017bda07e308fc61d661560235668e1a8775acc277e147717127339e7e
|
|
| MD5 |
912f1ab909108ae487d3b43d584d1df0
|
|
| BLAKE2b-256 |
bbf955f78c54367c87cb6a647c5fe978729afa0ef0301d075915993902b4ccfa
|