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

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)

Source distribution for cloneholio 0.16.1
File Size Uploaded
cloneholio-0.16.1.tar.gz 43.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for cloneholio 0.16.1
File Interpreter ABI Platform
cloneholio-0.16.1-py3-none-any.whl Python 3 none any Details

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}

Release history Release notifications | RSS feed

This release

0.16.1 This release

2 release files

0.16.0

2 release files

0.15.1

2 release files

0.15.0

2 release files

0.14.0

2 release files

0.13.4

2 release files

0.13.3

2 release files

0.13.2

2 release files

0.13.1

1 release file

0.13.0

1 release file

0.12.0

1 release file

0.10.0

2 release files

0.9.1

2 release files

0.9.0

2 release files

0.8.1

2 release files

0.8.0

2 release files

0.7.2

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.1

2 release files

0.1.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