gh_favs - Github Favorites A small script to clone and update all your watched GitHub projects usage: gh_favs [-t DIR] [-i NAME] [-o] [-n] [-s STRATEGY] [-v] USER positional arguments: USER Github user name optional arguments: -h, --help show this help message and exit -t, --target DIR directory where the clones live -i, --ignore NAME [NAME ...] repository names to be ignored -o, --add_own clone own repositories, too -n, --no_docs don't fetch origin/gh_pages -s, --strategy {subfolders,prefix,none} how to handle name clashes, default is "subfolders" -v, --verbose include Git status messages --version show program's version number and exit Installation: Use easy_install: $ easy_install gh_favs or pip: $ pip install gh_favs The script should work just fine with Python 2.5 or newer, however not yet with Python 3. For Python 2.5 you need simplejson (<https://github.com/simplejson/simplejson>) installed, for full CLI power argparse (both come packaged with Python 2.7). About gh_favs: (C) 2011 Manuel Strehl, some rights reserved This code is online: https://github.com/Boldewyn/gh_favs Conflict strategies: If you watch several forks of a project, the name of the forks is identical. To come around this issue when cloning all of them, there are several strategies, controlled by the --strategy flag: * subfolders: create one folder for each Github user and clone her repositories there * prefix: prefix double names with the corresponding user name: Abba's charts.git and Zappa's charts.git would end up as Abba-charts and Zappa-charts. Note that this is not future-proof. If you start watching a fork, the originally cloned repository will not be renamed * none: first come, first serve. Only the first of identical projects will be cloned / updated. All others will be ignored. License: This code is distributed under the terms of the GNU General Public License (GPL). See LICENSE for details.