2010-07-13 14:20:48 -04:00
|
|
|
GitHub-Backup
|
|
|
|
=============
|
|
|
|
|
2013-07-14 21:41:46 -07:00
|
|
|
Idea/original implementation by Chris Lockfort (clockfort@csh.rit.edu) (Github username: Clockfort)
|
2013-07-14 21:42:08 -07:00
|
|
|
|
2013-07-14 23:33:13 -04:00
|
|
|
Python version by Anthony Gargiulo (anthony@agargiulo.com) (Github username: agargiulo)
|
2010-07-13 14:20:48 -04:00
|
|
|
|
2013-07-14 21:43:10 -07:00
|
|
|
Description
|
|
|
|
----
|
|
|
|
|
2010-07-13 14:20:48 -04:00
|
|
|
GitHub-Backup makes a local backup copy of all of a github user's (or github organization's) repositories.
|
|
|
|
|
2013-08-02 00:18:43 +02:00
|
|
|
Dependencies
|
|
|
|
----
|
|
|
|
|
|
|
|
GitHub-Backup requires `pygithub3` a Python library for the GitHub API v3.
|
|
|
|
|
|
|
|
Installation is simple with
|
|
|
|
|
|
|
|
pip install pygithub3
|
|
|
|
|
2010-07-13 14:33:45 -04:00
|
|
|
Usage
|
|
|
|
-----
|
2013-08-01 17:03:16 -07:00
|
|
|
````
|
|
|
|
usage: github-backup.py [-h] [-c] [-m] [-g ARGS] [-s SUFFIX]
|
|
|
|
username backupdir
|
|
|
|
|
|
|
|
makes a backup of all of a github user's repositories
|
|
|
|
|
|
|
|
positional arguments:
|
|
|
|
username A Github username
|
|
|
|
backupdir The folder where you want your backups to go
|
|
|
|
|
|
|
|
optional arguments:
|
|
|
|
-h, --help show this help message and exit
|
|
|
|
-c, --cron Use this when running from a cron job
|
|
|
|
-m, --mirror Create a bare mirror
|
|
|
|
-g ARGS, --git ARGS Pass extra arguments to git
|
|
|
|
-s SUFFIX, --suffix SUFFIX
|
|
|
|
Add suffix to repository directory names
|
|
|
|
````
|
2010-07-13 14:33:45 -04:00
|
|
|
|
|
|
|
Then, put it in a cron job somewhere and forget about it for eternity.
|
|
|
|
|
|
|
|
Why This Software Exists
|
|
|
|
-------------------------
|
|
|
|
This software is useful in many cases:
|
2010-07-13 14:26:01 -04:00
|
|
|
|
|
|
|
- GitHub suddenly explodes.
|
|
|
|
|
|
|
|
- GitHub goes out of business.
|
|
|
|
|
|
|
|
- Your corporation's backup policies are more stringent than GitHub's.
|
|
|
|
|
|
|
|
- You have spotty/no internet access - perhaps you'd like to have all of your repositories available to code on while you ride the train?
|
|
|
|
|
|
|
|
- You are paranoid tinfoil-hat wearer who needs to back up everything in triplicate on a variety of outdated tape media.
|
|
|
|
|
2010-07-13 14:20:48 -04:00
|
|
|
|
|
|
|
Questions, Improvements, Etc
|
|
|
|
-----------------------------
|
|
|
|
|
2013-07-14 23:33:13 -04:00
|
|
|
If you have any improvements, I'm happy, (grateful, in fact) to entertain pull requests/patches, just drop me a line or message me on GitHub.
|