#backup-utility #github #command-line-tool #github-backup #download-repo

app gitspore

Github mirroring and backup tool that concurrently downloads or updates all of the repo's of the specified user

3 unstable releases

0.3.1 Aug 25, 2024
0.3.0 Aug 25, 2024
0.2.4 Apr 10, 2024
0.2.0 Mar 31, 2024

#198 in Filesystem

Download history 23/week @ 2024-07-28 267/week @ 2024-08-25 2/week @ 2024-09-01 17/week @ 2024-09-15 4/week @ 2024-09-22 5/week @ 2024-09-29

336 downloads per month

MIT license

20KB
427 lines

gitSpore

Github mirroring and backup tool that concurrently downloads or updates all of the repo's of the specified user. If the repo already exists in the destination folder, that repo will be pulled on.

Note: If no token is provided only the public repo will be downloaded.

Install from Crates.io

cargo install gitspore

Running gitSpore from cli

Usage: gitspore [OPTIONS] -u <USER>

Options:
-u <USER>               Github username
-o <OUTPUT_FOLDER>      folder to save github repo [default: ./]
-t <TOKEN>              Github token - If no token is provided only the public repos will be downloaded [default: None]
-h, --help              Print help

Example CLI commands

./gitSpore config-file # use config file
./gitSpore -u helloimalemur # Download public repo only
./gitSpore -u helloimalemur -t mytoken # Download public and private repo
./gitSpore -u helloimalemur -t mytoken -o /tmp/output_dir # Download public and private repo to specified directory

Running gitSpore from config file

Usage: gitspore config-file

config/Settings.toml

github_username = "helloimalemur"
output_folder = "/tmp/"
github_personal_access_token = "github_xxxxx"

Development and Collaboration

Feel free to open a pull gitsporest, please run the following prior to your submission please!

echo "Run clippy"; cargo clippy -- -D clippy::all
echo "Format source code"; cargo fmt -- --check

Dependencies

~19–31MB
~521K SLoC