Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kennethreitz/ghsync
Github Syncer. Clones or Pulls all GitHub repos (owned and watched).
https://github.com/kennethreitz/ghsync
Last synced: 3 days ago
JSON representation
Github Syncer. Clones or Pulls all GitHub repos (owned and watched).
- Host: GitHub
- URL: https://github.com/kennethreitz/ghsync
- Owner: kennethreitz
- License: isc
- Created: 2011-02-21T01:25:25.000Z (over 13 years ago)
- Default Branch: master
- Last Pushed: 2022-04-12T19:25:14.000Z (over 2 years ago)
- Last Synced: 2024-10-23T08:31:25.954Z (12 days ago)
- Language: Python
- Homepage: http://kennethreitz.com/blog/github-syncer-in-python/
- Size: 15.6 KB
- Stars: 103
- Watchers: 13
- Forks: 15
- Open Issues: 4
-
Metadata Files:
- Readme: README.rst
- License: LICENSE
Awesome Lists containing this project
README
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... _`the repository`: http://github.com/kennethreitz/ghsync