Manage review workflow for projects hosted on GitHub (using pull requests).
Pull request Compare This branch is 4 commits behind b4mboo:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
bin
lib
spec
.gitignore
.rspec
.travis.yml
Gemfile
Guardfile
LICENSE
README.md
Rakefile
git-review.gemspec
wiki.txt

README.md

git-review

Build Status

Manage review workflow for projects hosted on GitHub (using pull requests).

Commands

list (--reverse)

$ git review list
Pending requests for 'b4mboo/git-review/master'
ID      Updated    Comments  Title
42      14-Jul-11  0         [Review] Request from 'mess110' @ 'b4mboo/git-review/documentation
23      13-Jul-11  8         [Review] Request from 'mess110' @ 'b4mboo/git-review/new_feature
$ git review list --reverse
Pending requests for 'b4mboo/git-review/master'
ID      Updated    Comments  Title
23      13-Jul-11  8         [Review] Request from 'mess110' @ 'b4mboo/git-review/new_feature
42      14-Jul-11  0         [Review] Request from 'mess110' @ 'b4mboo/git-review/documentation

show ID

$ git review show 42
> [summary]
> [diffstat]
> [discussion]
$ git review show 42 --full
> [summary]
> [full diff]
> [discussion]

browse ID

$ git review browse 42
> open a browser and go to request #42's web page

checkout ID (--no-branch)

$ git review checkout 42
> checkout remote branch from request #42 and create a local branch from it
$ git review checkout 42 --no-branch
> checkout changes from request #42 to your local repository in a headless state

approve ID

$ git review approve 42
> approve request #42 as reviewed by adding a standard comment

merge ID

$ git review merge 42
> accept request #42 by merging it

close ID

$ git review close 42
> close request #42

prepare (--new) (feature name)

$ git review prepare
> create a new local branch with review prefix to base a new request upon

create (--upstream)

$ git review create
> create a new request by creating all necessary local and remote branches

$ git review create --upstream
> send a new request to the upstream repository when working on a forked repo

clean (ID) (--force) / (--all)

$ git review clean 42
> delete local and remote branches for that request
$ git review clean 42 --force
> delete branches even if they contain unmerged commits
$ git review clean --all
> delete all obsolete branches (does not allow --force)

Installation

To install it via Rubygems.org simply do:

gem install git-review

(Prefix with sudo if necessary)

Wiki

For more information visit the wiki.

Thanks

A fork of Scott Chacon's git-pulls was used as starting point for this gem. Thank you, Scott for the initial work and above all for open sourcing it and allowing me to play with it.