Skip to content

kennethreitz/ghsync

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 --upstream 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.

About

Github Syncer. Clones or Pulls all GitHub repos (owned and watched).

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages