README.md in github_snapshot-0.1.0 vs README.md in github_snapshot-0.1.1

- old
+ new

@@ -1,14 +1,38 @@ # GithubSnapshot -Snapshoting organization's repositories, including wikis +Snapshots multiple organizations GitHub repositories, including wikis, and syncs them to Amazon's S3. The gem also prunes old backups, keeping only the N most recent snapshots for each repository. +Please do keep in mind that we are not setting up an additional remote that is kept in sync. We do a `git clone --mirror` on each repository and then gzip it with a timestamp. Here is a typical (and reduced for clarity) tree structure of the backup folder/S3 bucket: + +``` +github-backups/ +├── mozilla +│   ├── brick-201308260300.git.tar.gz +│   ├── brick-201308260300.wiki.git.tar.gz +│   ├── brick-201308270300.git.tar.gz +│   ├── brick-201308270300.wiki.git.tar.gz +│   ├── shumway-201308260300.git.tar.gz +│   ├── shumway-201308260300.wiki.git.tar.gz +│   ├── shumway-201308270300.git.tar.gz +│   ├── shumway-201308270300.wiki.git.tar.gz +└── innvent + ├── github_snapshot-201308260300.git.tar.gz + ├── github_snapshot-201308270300.git.tar.gz + ├── matross-201308260300.git.tar.gz + ├── matross-201308270300.git.tar.gz + └── jobs-201308260300.git.tar.gz + └── jobs-201308270300.git.tar.gz +``` + ## Installation `github_snapshot` should be run as a command line tool, so it makes sense installing it globally - $ gem install github_snapshot +```bash +$ gem install github_snapshot +``` [`s3cmd`](https://github.com/s3tools/s3cmd) should also be installed on the system and properly configured. ## Usage @@ -34,9 +58,19 @@ **You could be prompted to check the authenticity for `github.com` host**. You can either say yes during the first script execution or disable strict host key checking for it: ```bash $ echo -e "Host github.com\n\tStrictHostKeyChecking no\n" >> ~/.ssh/config ``` + +## To-Do + +Although this gem was created to serve a very specific purpose at Innvent, here is the roadmap we have in mind: + +- Tests; +- Backup GitHub issues; +- Flag based configuration, in addition to the YAML config file; +- Turn off S3 synchronization; +- Restore backups to GitHub; ## Contributing 1. Fork it 2. Create your feature branch (`git checkout -b my-new-feature`)