Arcanist是整合的arc(提交Phabricator)的命令工具集,使用的前提是要安装arc和Phabricator(这句是废话)
但是要能正常使用,需先设置,如把arc设置为环境变量,PHP设置为环境变量,都不在话下,当然,我做了一个集成安装包,已经包含了安装和设置环境变量的功能,这还不够。还有其他需要设置的。
arc set-config editor "/path/to/editor/editor" 注意,windows中不能使用notepad
在SVN的workcopy目录创建一个.arcconfig文件,输入以下内容,注意JSON语法,将其中的信息修改成自己想买的信息,这个文件上传SVN服务器,保持团队修改统一
{
"phabricator.uri" : "http://192.168.139.130",
"repository.callsign" : "TVP",
"project.name" : "cms",
"lint.engine" : "",
"unit.engine" : "",
"http.basicauth.user" : "pannengchong", --修改成自己的用户名
"http.basicauth.pass" : "" –这里可以不设置密码
}
使用命令行攻击切换到workcopy目录下,输入
arc install-certificate http://yourphabricatorserver.com/api/
会得到如下提示
使用浏览器访问提示的地址,可以得到授权码
将授权码复制粘贴到Past token…后,回车,设置完成。
大家一定要理解这个Review,Re-view就是再看一遍的意思,翻译成审核审查都没意思,所以这里就是把自己的代码拿给别人再看一遍。
提交Review的命令是"arc diff –encoding 你的代码的编码 –trace"这个命令会提示你输入一些信息
顾名思义
<
Summary: 本次Diff的描述
Test Plan: 测试计划,没有的话写NA,不然提示问题
Reviewers: 谁帮你看代码
Subscribers: 这件事情要让那些人知道
# Tip: Write "Fixes T123" in your summary to automatically close the
# corresponding task when this change lands.
# NEW DIFFERENTIAL REVISION
# Describe the changes in this new revision.
#
# arc could not identify any existing revision in your working copy.
# If you intended to update an existing revision, use:
#
# $ arc diff --update
提交后审核者能够看到Differential中有多少待办
点击标题可以进行review
Reviewer可以进行的操作有Comment,写点注释,然后什么都不干,也可以针对某个代码行写注释,直接点击代码行就行
Accept Revision,接受,这哥们代码写得不错,不需要改
Request Changes,不行,还要改,某些地方没有按照规范来
Resign as Reviewer,重新制定Review代码的人
Commandeer Revision,字面意思是将这个Revision据为己有的意思,实际上这个时候Reviewer的身份已经变为Owner的身份了,不能再进行Review了,但是Comment还是可以的
Add Reviewer,Add CCs都很清楚
当一个Revision被Accept之后,code writer可以使用arc commit命令将代码提交到SVN服务器了。
Phabricator的管理流程很清晰,如果Reviewer认为代码需要修改的话,code writer就不应该把代码提交到SVN,而是应该修改之后再次执行arc diff命令,直到所有的reviewer都认为代码OK了之后才应该使用arc commit,所有的diff都会在Phabricator被记录,而且可以使用arc获取回来,后续再研究。