So, due to the codes that always being sucks and hard to manage, I proposed my current company to do code reviews. As the tool, we choose Phabricator. At first I guess I’ll choose Gitlab, or even Atlasian, but Phabricator seems worth to be tried.
Seriously, you can get general information about phabricator by just google it. Here I am just sharing my experiences.
What Phabricator can do for you ?
Phabricator is complete collection of software intended to aids software development. Some feature are already complete, some in prototype phase. For now, Phabricator can do:
Repository Hosting Management
Code Review
Project and Task Management.
Wiki
Kind of chat room called “Conpherence”
and many more
Why Phabricator ?
We choose phabricator becouse of some reasons :
It’s LAMP application, which is also our daily environment.
Free and Open
Why Not ?
Install
You can follow the instruction https://secure.phabricator.com/book/phabricator/article/installation_guide/. First repo pull via http, I got error about git-http-backend. If you do too, you can do the following:
1 2 |
cd /path/tp/phabricator/support/bin sudo ln -sv /usr/lib/git-core/git-http-backend |
Herald
Herald is phabricator application you can use to control data in phabricator, for example, In my company I need to restrict some push when no accepted revision exists, then I use herald to control it. I make the herald rule as following:
1 2 3 4 5 6 |
When all of these conditions are met: Accepted Differential revision does not exist Pusher is not any of <username> Take these actions every time this rule matches: Block change with message Review is required for all changes. |
Differential Test Plan
By default, when creating a revision thru arc diff , you will be prompted to fill test plan. If you don’t need it, you can turn it off by:
phabricator/$ ./bin/config set differential.require-test-plan-field false
and edit differential.fields to the following:
1 2 3 4 |
"differential:test-plan": { "key": "differential:test-plan", "disabled": true } |
You can go to Config application by clicking Config on sidebar menu.
Discussion