代码检视工具Phabricator的使用学习

2016-06-26 | 阅读

Phabricator 的使用

phabricator是一款代码审查工具.

登录之后可以看到一下界面:

  • Differential : pre-commit 代码检视,如果有代码检视任务,在该菜单会有红点显示
  • Maniphest : 用来创建任务,并分配给相应的人,这是项目管理的功能
  • Diffusion : 创建和显示 gitsvn仓库信息,只有管理员才能创建仓库
  • Audit : post-commit代码检视功能,可以查看代码提交后的变化
  • Phriction : 一个wiki平台,可以使用markdown语法来编写文档
  • Projects : 项目信息,可以用来创建项目和编辑项目,并给用户授权.
  • Application : 添加和配置功能.

配置使用

首先,下载Arcanist:

git clone https://github.com/phacility/libphutil.git
git clone https://github.com/phacility/arcanist.git

然后配置path : export PATH="$PATH:/somewhere/arcanist/bin/"

配置后,输入arc help查看是否安装成功.

Configure Your Project

配置一个新的项目,需要在项目的目录下,创建一个.arcconfig文件,但这个文件是在本地文件夹下创建.常用配置项如下:

  • phabricator.uri : Phabricator 安装的网址,本地连接该网址,并传递提交信息上去供审查. 唯一
  • repository.callsign : 在Diffusion中创建仓库时的callsign
  • history.immutable : 配置arc是否能修改working copy的历史.默认情况下,arc可以在git上重写一些没有发布的提交历史.
  • load : 添加额外的Phutil库.
  • https.cabundle: 在使用https时,选择一个https的证书
  • lint.engine : 配置项目中 链接规则,使用一个ArcanistLintEngine的子类.
  • unit.engine : 配置项目中单元测试的规则,使用一个ArcanistUnitTestEngine的子类.
  • http.basicauth.user : 连接到 Phabricator的用户账号
  • http.basicauth.pass : 连接的密码
  • https.blindly-trust-domains : 使用https时,信任的domain的列表.

配置完项目后,在项目路径下执行命令arc install-certificate .这会去连接服务器申请一个证书,在phabricator网站的/conduit/login/目录出可以拿到一个对应的API Token,回到命令行输入这个Token,就可以成功授权了.然后就可以使用arc命令提交代码审查了.

arc diff

在SVN中,使用arc diff命令, 发送一个没有提交的变更列表到phabricator中供review使用.

arc自己会根据提交或者hash值等信息来判断在执行arc diff命令时,是在创建一个 revision还是在更新一个revision,当然也可以手动指定:

$ arc diff --create             # Force "create".
$ arc diff --update <revision>  # Force "update".

在使用arc diff后,会进入一个极丑的提交界面:

在这个界面中,编写标题和提交的总结. 在 Reviewers 后添加代码审查人员, Subscribers后面添加订阅者. 添加审查人员很坑,要将用户名一个一个写上去.