Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings
This repository was archived by the owner on Mar 16, 2022. It is now read-only.

benbalter/github_records_archiver

Open more actions menu

Repository files navigation

This project is no longer maintained. If you are interested in archiving your user or organization data, please use the purpose-built migration API instead.


GitHub Records Archiver

Build Status Gem Version Coverage Status PRs Welcome

Backs up a GitHub organization's repositories and all their associated information for archival purposes.

What it archives

  • Git data (change history, tags, branches, etc.)
  • Wikis (including change history)
  • Issues and pull request (including comments, current state, etc.)
  • Teams (including members and repository permissions)

Requirements

  1. Ruby
  2. A GitHub personal access token with repo scope.

Setup

If you have Ruby installed, simply run:

gem install github_records_archiver

Basic usage

$ github-records-archiver archive ORGANIZATION --token PERSONAL_ACCESS_TOKEN`

Alternatively, you could pass the personal access token as the GITHUB_TOKEN environmental variable:

$ GITHUB_TOKEN=1234 github-records-archiver archive ORGANIZATION`

Output

The script will create an archive directory, with one folder for each organization.

Within each organization folder, there will be one folder per repository.

Within each repository folder will be the repository content as a git repository.

If the repository has a Wiki, the wiki will be cloned as a wiki subfolder, as a Git repository.

If the repository has issues or pull requests, it will create an issues sub-folder with each issue and its associated comments stored as both markdown (human readable) and JSON (machine readable).

Example output:

├─ archive
├─── organization
├──── repository
├────── README.md
├────── LICENSE.txt
├──── wiki
├────── wiki-page.md
├──── issues
├────── 1.md
├────── 1.json
├─── another organization
├──── another-repository
├────── README.md
├────── LICENSE.txt
├──── wiki
├────── wiki-page.md
├──── issues
├────── 1.md
├────── 1.json

Advanced usage

You may set the following flags:

  • --dest-dir - the destination archive directory, defaults to ./archive
  • --verbose - verbose output while archiving

Additionally, the following commands are also available:

  • delete [ORGANIZATION] - delete the entire archive directory or an organization's archive
  • help - display help information
  • version - display the GitHub Record Archiver version

About

Backs up a GitHub organization's repositories and all their associated information for archival purposes.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.