Review it! is a review tool for git-based projects.
For the sake of simplicity, the work/review processes is split in two components:
- Command-line tool (requesting review for patches)
- Web-based code review dashboard
First install the gem dependencies.
$ bundle install --without development,test
Then create a postgres database called reviewit and run:
$ bin/setup
For more information about database configuration look into Rails documentation and edit the file config/database.yml.
Now you need to configure a reverse proxy with unicorn of some other web server do you plan to use, if you just want to look at reviewit while waste time configuring Ngix and Unicorn, just run:
$ RAILS_ENV=production RAILS_SERVE_STATIC_FILES=1 unicorn_rails
To configure mail delivery options check the file config/reviewit.yml.
- Register your project in the web interface (just needs a name, repository URL and a list of people involved on the project)
- Go to the directory where your project working copy is.
- Type the command you saw in the web interface.
- Write some code!
- Commit it to git like you are used to do
- Feeling ready for review? Just run
review push BRANCHcommand.
Your patch will be posted for review. Once accepted, it will be merged into BRANCH.
e.g. review push 3.4.0 will create a merge request with your HEAD commit targeting the 3.4.0 branch.
- Write some code!
- Update your existing patch (git commit --amend)
- Run
review pushcommand.
Go to web interface and click accept and the patch should be merged, or run review accept X where X is the MR id.
Reviewit will try to apply and commit your patch (git am), it will tell you if it can't. And if it can't, solve the conflicts (git rebase) then send it again for review.
Just run review list.
Just run review open X, where X is the MR id, you can see the MR ids when listing pending reviews.
If X is ommited it will open the current review, if it exists.
Don't want to wait the browser to start up? Just run review show X, where X is the MR id.
You can do it on web interface or by running review cancel.
Sometimes you aren't a believer and want to try the patch yourself, this is easy, just run review apply X where X is the MR id.
Do review cleanup, it will issue a git remote prune <your_remote> and remove all local branches for merge requests
already accepted or abandonned.