Hi,

I'm working on project : Provide ability to integrate code review tools for
App Factory.[1] Normally in App Factory, a developer can clone an App's
source code from gitblit and push necessary changes back to the main repo.
Use case of code review tool comes after that. Other developers in the same
Tenant should be able to go through pushed commits and provide reviews.
This is called as post commit reviewing.

I looked at currently available code review tools that can be used in this
approach.

Gerrit [2]
A widely used code review tool. It keeps its own repository.If we want to
get review for a code commit we need to push those commits to Gerrit. Then
Gerrit can keep hold those commits without merging them to main repo until
it is reviewed. Simply Gerrit works like pull request mechanism in GitHub.
So this is pre-commit  reviewing which is not compatible with our
requirements.

Gerrit has been built wrapping a JGit server. It handles reviewing task
only for projects in its repository. In our case App Factory repositories
stay in external Gitblit server and we need to connect Gerrit as a
reviewing tool which is architecturally impossible because Gerrit can't
import projects in external repositories. (Correct me if I'm wrong)

Crucible [3]
Great tool that has exact features we need. Good API to communicate. But
it's not for free. It's an Atlassian product.

Phabricator [4]
Code reviewing tool + more functionalities developed by Facebook for their
reviewing stuff. Apache 2.0 licence. This is compatible for our
requirements but user interfaces are bit complex. So users may find some
difficulties in catching up the functionalities. It has an api called
"Conduit api"[5]  which I have never heard before :) However according to
the documentation, API is still growing so some functionalities we need,
may not be included.

Barkeep [6]
A good lightweight reviewing tool. Simple and effective interfaces. There
is a REST API which covers most of the functionalities we need. It has MIT
Licence [7] so need to check compatibility with WSO2 licensing process. If
licence is compatible, I think this is the most suitable one we can use.

Considering above four tools I believe Barkeep (if licensing is ok) and
Phabricator are suitable candidates for the task.

[1] https://redmine.wso2.com/issues/1019
[2] https://code.google.com/p/gerrit/
[3] https://www.atlassian.com/software/crucible/download
[4] http://phabricator.org/
[5]https://secure.phabricator.com/book/phabdev/article/conduit/
[6] http://getbarkeep.org/
[7] http://opensource.org/licenses/mit-license.php

Thanks
Dimuthu u
-- 
Dimuthu Upeksha
Engineering Intern
WSO2 inc.
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to