ghbu: GitHub Backup
Usage
Backup the repositories owned by user joe:
$ GITHUB_TOKEN=0123abc ghbu --to ~/github-backup --keyfile ~/.ssh/id_ed25519 --user joe
Backup the repositories owned by organization acme:
$ GITHUB_TOKEN=0123abc ghbu --to ~/github-backup --keyfile ~/.ssh/id_ed25519 --org acme
Dependencies
git2: clone and fetch Git repositoriesreqwest: request repositories from GitHub APIserde_json: unmarshal GitHub API payloadsclap: parse command line arguments
TODO
- Concurrency
- interleave API calls with cloning/fetching of repositories
- Extension
- implement for GitLab API
- implement for Gitea API
- consider supporting HTTPS credentials
- consider supporting SSH Key from Agent
- add support for SSH Passphrase (as environment variable)