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
Metadata
Release files for cloneholio 0.16.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| cloneholio-0.16.1.tar.gz | 43.5 kB | Without provenance | Details for cloneholio-0.16.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| cloneholio-0.16.1-py3-none-any.whl | Python 3 | none | any | Details for cloneholio-0.16.1-py3-none-any.whl |
Total release size: 54.1 kB
Release files / cloneholio-0.16.1.tar.gz
| Download URL | cloneholio-0.16.1.tar.gz |
|---|---|
| Size | 43.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b99a02dade6bef2e2a6c19ec78b1c440db74745f4ee7c94ad2fec30e8a886ac7
|
|
BLAKE2b-256 checksum How to use checksums |
4b1ad0975833eff9b87d3cfcefe11576ffedecc1ca6127e490287719ad4a3714
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.13.0 {"installer":{"name":"uv","version":"0.13.0","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}
|
Release files / cloneholio-0.16.1-py3-none-any.whl
| Download URL | cloneholio-0.16.1-py3-none-any.whl |
|---|---|
| Size | 10.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f10794e9f07bbe6352b3e54617e740763b4c1692493731b1bb3907109785944c
|
|
BLAKE2b-256 checksum How to use checksums |
6e7643ccc98e354028075501a6c34f8e5b525476d829bdf2a1f86cc40a9e70e5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.13.0 {"installer":{"name":"uv","version":"0.13.0","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}
|
Security for cloneholio 0.16.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.