Provides a command-line interface to some parts of the GitHub API in a similar manner to the Launchpad plugin for Bazaar. The idea is to improve integration between Git and GitHub from the command-line.
Python
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
bin
gizz
.gitignore
COPYING
MANIFEST.in
README
setup.py

README

gizz
====

What is it?
-----------

gizz provides a command-line interface to some parts of the GitHub API in a
similar manner to the Launchpad plugin for Bazaar. The idea is to improve
integration between Git and GitHub from the command-line in specifc areas such
as handling pull requests and creating pull requests.

The goal is for gizz to improve the efficiency of the GitHub workflow so that
developers can spend less time on admin and more time hacking.

gizz is short for GitHub Whizz.

Yes, this is somewhat like hub (http://defunkt.io/hub/) although I had no
knowledge of hub when starting this project.

Requirements
------------

gizz requires Python 3.2+. No other libraries are required.

Quick Start
-----------

Fetching a pull request as a local branch:
>>> $ gizz list-pr
>>> 12 => Improve foo command
>>> 27 => Fix bug in bar
>>> $ gizz fetch-pr 27
>>> Created branch bug-bar tracking baz/gizz
>>> Merge bug-bar into master
>>> $ git checkout bug-bar # test and verify correctness
>>> $ git checkout master
>>> $ git merge bug-bar # the bug fix has now been merged into mainline
>>> $ git branch -d bug-bar # can now remove the local bug-fix branch

Opening a pull request without forking the project first:
>>> $ git clone git://github.com/foo/bar.git
Hack away & commit on a branch.
>>> $ gizz request-pull # opens an editor for a title & body
This command forks the parent repo, pushes the current branch and then opens a
pull request to the parent repo's master branch.
Or specifying some more details:
>>> $ gizz request-pull --repo foo/bar --base master --head bug-bar

Opening a pull request already having forked the project first:
>>> $ git clone git://github.com/foo/bar.git
>>> $ git remote add username git@github.com:username/bar.git
Hack away & commit on a branch.
>>> $ gizz request-pull
This command pushes the current branch to username (your fork), and then opens
a pull request to origin's master branch.

Opening a pull request after cloning your own fork:
>>> $ git clone git://github.com/username/bar.git
Hack away & commit on a branch.
>>> $ gizz request-pull
This command pushes the current branch to origin (your fork) and then opens a
pull request to the parent repo's master branch.

Installation
------------

gizz uses Python distutils. To install gizz for all users:
>>> $ python3 setup.py install
To install gizz only for the current user:
>>> $ python3 setup.py install --user

Contributing
------------

Fork it on GitHub, hack away and then send a pull request (preferably using
gizz). To run gizz in the source tree without having to install it first, use
the PYTHONPATH environment variable:
>>> $ PYTHONPATH=path/to/clone/directory bin/gizz -h

Licensing
---------

This program is free software: you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
Foundation, either version 3 of the License, or (at your option) any later
version.

Please see the file called COPYING for more details.

Latest Version
--------------

Details of the latest version can be found on the gizz project page at
https://github.com/rosslagerwall/gizz.