💾 Clone and update a GitHub user's repos
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
gh_archiver
.gitignore
MANIFEST.in
README.md
mkrelease.sh
requirements.txt
setup.py

README.md

gh-archiver

Clone and update a GitHub user's repositories locally:

$ gh-archiver ChrisCummins -o ~/src/GitHub/
cloning atom
cloning autoencoder
updating chriscummins.cc
...

Or mirror to a gogs server:

$ gh-archiver ChrisCummins -o ~/gogs/repos/ChrisCummins --gogs --gogs-uid 1
mirring atom ... 201
mirroring autoencoder ... 201
mirroring chriscummins.cc ... 201
...

Installation

$ pip install gh-archiver

Requires Python >= 3.6.

GitHub credentials

Create a credentials file ~/.githubrc with your GitHub username and password:

$ cat <<EOF > ~/.githubrc
[User]
Username = YourUsername
Password = password1234
EOF
$ chmod 0600 ~/.githubrc

Alternatively, use flag --githubrc <path> to specify a path to the credentials file.

Gogs credentials

Create a credentials file ~/.gogsrc with your Gogs server address and token:

$ cat <<EOF > ~/.gogsrc
[Server]
Address = http://example.com:3000

[User]
Token = 39bbdb529fed7fc4f373410518745446d9901450
EOF
$ chmod 0600 ~/.gogsrc

Alternatively, use flag --gogsrc <path> to specify a path to the credentials file.

License

Made with ❤️ by Chris Cummins. Released under MIT License.