Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Github Syncer. Clones or Pulls all GitHub repos (owned and watched).
Python
branch: master

Merge pull request #7 from pneff/windows

Use subprocess `check_output` to run git
latest commit 74fc434a41
@kennethreitz authored
Failed to load latest commit information.
ghsync Use subprocess `check_output` to run git
.gitignore generic gitignore
LICENSE ISC
MANIFEST.in Added Manifest includes file
README.rst documentation update
reqs.txt new reqs
run_ghsync runner
setup.py v0.3.1

README.rst

ghsync: GitHub Repo Syncer

This script uses the GitHub API to get a list of all forked, mirrored, public, and private repos in your GitHub account. If the repo already exists locally, it will update it via git-pull. Otherwise, it will properly clone the repo.

It will organize your repos into the following directory structure:

+ repos
\ +-- forks    (public fork repos)
  +-- mirrors  (public mirror repos)
  +-- private  (private repos)
  +-- public   (public repos)
  +-- watched  (public watched repos)

Requires Ask Solem's github2 (http://pypi.python.org/pypi/github2).

Inspired by Gisty (http://github.com/swdyh/gisty).

Install

To install ghsync, simply run:

$ pip install ghsync

The command ghsync will then be available to you from the command line. Beware, unless you set the GHSYNC_DIR environment variable, it will add all the repos to your current directory.:

$ export GHSYNC_DIR='~/repos/'

Options

If the --upsteam argument is passed, all forked repos will have an upstream remote added, pointing to their parent repo on GitHub.

You can also selectively sync certian types of repos with --only. If you'd like to only sync forked repositories, for example:

$ ghsync --only forks

Contribute

If you'd like to contribute, simply fork the repository, commit your changes to the develop branch (or branch off of it), and send a pull request.

Something went wrong with that request. Please try again.