Reviewr: Simple code review
Reviewr is an application to simplify code review for projects using git and github.com for version control.
Installation
gem install reviewr
Requesting a code review
reviewr request <email>
This will result in the following actions:
- Create a code review branch
- Create a commit with information about the code review request
- Push the code review branch to the remote repository
- Send an email to
requesting a code review of the branch The email will include a link to Github's compare view for the changes
Limitations
- Email can only be sent from a Gmail (or Google Apps for my domain) address
TODO
Finish out the basic workflow
General workflow goes something like this:
Code, code, code. Decide changes are ready for review and run reviewr
request [email protected]
. This causes reviewr to:
- create a new branch with the name
review_0f38ef31
where0f38ef31
is the SHA of the current commit - Add a commit to the branch with metadata about the request (requester name/email etc).
- push the branch to the origin repository
- generate a github review url from the current head to the pushed review branch
- Send an email to
[email protected]
with a nice message and the url
The reviewer then looks over the code on github and comments as
necessary. If the code is acceptable the reviewer runs reviewr accept
review_0f38ef31
. reviewr will then:
- fetch the review branch
- attempt to merge the reviewed branch into the master
- if it fails an error will be raised and execution will stop
- if is succeeds the merged master will be pushed
- the remote review branch will be deleted.
- an email will be sent to the review requester saying the code was accepted
If the code the reviewer is checking is not acceptable, upon finishing
comments on github the reviewer can run reviewr reject
review_0f38ef31
. reviewr will:
- Re-generate the github url for comparing to the current master
- Send an email to the requester of the review saying the code has been rejected and to please see the comments on the linked page