使用Arcanist进行工作

Arcanist是整合的arc(提交Phabricator)的命令工具集,使用的前提是要安装arc和Phabricator(这句是废话)

但是要能正常使用,需先设置,如把arc设置为环境变量,PHP设置为环境变量,都不在话下,当然,我做了一个集成安装包,已经包含了安装和设置环境变量的功能,这还不够。还有其他需要设置的。

  1. 设置SVN注释的编辑器

arc set-config editor "/path/to/editor/editor" 注意,windows中不能使用notepad

  1. 设置Phabricator服务器属性

在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" : "" 这里可以不设置密码

}

  1. 安装服务器授权

使用命令行攻击切换到workcopy目录下,输入

arc install-certificate http://yourphabricatorserver.com/api/

会得到如下提示

使用浏览器访问提示的地址,可以得到授权码

将授权码复制粘贴到Past token…后,回车,设置完成。

  1. 提交Review

大家一定要理解这个Review,Re-view就是再看一遍的意思,翻译成审核审查都没意思,所以这里就是把自己的代码拿给别人再看一遍。

提交Review的命令是"arc diff –encoding 你的代码的编码 –trace"这个命令会提示你输入一些信息

顾名思义

<> 这里写Title,可以写修正什么Bug,完成什么任务等等

 

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中有多少待办

  1. Reviewer review代码

点击标题可以进行review

Reviewer可以进行的操作有Comment,写点注释,然后什么都不干,也可以针对某个代码行写注释,直接点击代码行就行

Accept Revision,接受,这哥们代码写得不错,不需要改

Request Changes,不行,还要改,某些地方没有按照规范来

Resign as Reviewer,重新制定Review代码的人

Commandeer Revision,字面意思是将这个Revision据为己有的意思,实际上这个时候Reviewer的身份已经变为Owner的身份了,不能再进行Review了,但是Comment还是可以的

Add Reviewer,Add CCs都很清楚

  1. 提交代码到SVN

当一个Revision被Accept之后,code writer可以使用arc commit命令将代码提交到SVN服务器了。

  1. 审核不通过的情况

Phabricator的管理流程很清晰,如果Reviewer认为代码需要修改的话,code writer就不应该把代码提交到SVN,而是应该修改之后再次执行arc diff命令,直到所有的reviewer都认为代码OK了之后才应该使用arc commit,所有的diff都会在Phabricator被记录,而且可以使用arc获取回来,后续再研究。

你可能感兴趣的:(代码审核)