1. 准备软件
- arcanist-stable.zip
- libphutil-stable.zip
- php-common-5.3.3-26.el6.x8664.rpm - php-mbstring-5.3.3-26.el6.x8664.rpm
目前发现arcanist-master.zip和libphutil-master.zip版本在RedHat 6.2上不可用。
2. 安装
解压缩arcanist-master.zip和libphutil-master.zip
后者改名libphutil拷贝到arcanist-master/externals/includes/下
将arcanist-master拷贝至根目录
- snippet.bash
unzip arcanist-master.zip unzip libphutil-master.zip mv libphutil-master arcanist-master/externals/includes/libphutil mv arcanist-master /
安装php扩展包
- snippet.bash
rpm -ivh php-common-5.3.3-26.el6.x86_64.rpm --force rpm -ivh php-mbstring-5.3.3-26.el6.x86_64.rpm
3. 配置
将/arcanist-master/bin加入自己的PATH
- snippet.bash
echo export PATH=/arcanist-master/bin:\$PATH >> ~/.bash_profile
配置arc使用的编辑器
- snippet.bash
arc set-config editor 'vim'
配置Phabricator的地址
- snippet.bash
arc set-config default 'http://192.168.151.252'
4. 配置arc与源码集成
准备源码,比如trunk
- snippet.bash
mkdir trunk cd trunk svn co http://192.168.103.148:18080/svn/repos_GBase8a_IB/GBase8a_IB/trunk/code/server .
在源码根目录trunk创建 .arcconfig 文件
- snippet.bash
cd trunk vim .arcconfig { "repository.callsign" : "rT", "lint.engine":"", "unit.engint":"" }
目前phabricator服务器上,rT代表8611 trunk分支,rC代表8512 11.5分支,用户根据自己的分支确定 写什么。
在源码根目录安装证书
- snippet.bash
cd trunk arc install-certificate
根据提示信息,用浏览器打开它提供的URL,获取一个字串,复制粘贴回来,回车,证书安装完毕。
5. 开发
修改代码,在源码根目录 提交CodeReview
- snippet.bash
cd trunk arc diff --encoding GBK
根据提示操作,就可以将本地更改提交到phabricator,形成一个CodeReview。
浏览器登陆http://192.168.151.252,既可以看到刚提交的CodeReview。
5.使用Phabricato进行Code Review
初次Review
前期安装的arcanist-master在提交代码时错误,错误摘要:
ERROR 8: Undefined index: Repository UUID at …
无法提交。
重新安装arcanist-stable版本,仍然有提示ERROR,但是可以提交成功。提交命令:
- snippet.bash
arc diff --encoding GBK
arc提交时的commit message范例:
rm: #28043 算子耗时统计并Tace到.trc文件 Summary:细化算子耗时统计,并Tace到.trc文件。 Test Plan:null Reviewers:zhangnan Subscribers:
提交成功后,到Phabricator Web页面可以查询到提交记录,注意记录号“D349”,这个是本Review的跟踪记录号。
更新Review
根据review建议修改代码,并更新review。
- snippet.bash
arc diff --update D349 --encoding GBK
提交SVN
review结果为Accepted状态后,需要提交代码到SVN,并关闭review。使用arcnist提交代码将自动关闭review。
- snippet.bash
arc commit --revision D349
也可以直接使用SVN直接提交代码。