转自:https://slahser.com/2016/02/29/Arcanist%E7%94%A8%E6%B3%95%E7%AE%80%E4%BB%8B/
这是Phabricator配套的Code Review工具,需要配合本地clt使用.
搜索引擎查了几回合实在不太好找到简洁明了的中文文档,姑且写一下.(这一套工具配起来真的挺糟心的…)
安装
1. https://segmentfault.com/a/1190000006205718:
(1)安装
git clone https://github.com/phacility/arcanist.git
git clone https://github.com/phacility/libphutil.git
(2)设置环境变量
vim ~/.zshrc
export PATH=$PATH:/Users/xixicat/devtool/arcanist/bin
source ~/.zshrc
(3)使用
arc help
2. 第一种:
brew tap homebrew/php brew install arcanist arc help
第一种方法因为无法执行arc upgrade暂时舍弃.
3. 第二种:
brew install node
npm install -g arcanist
arc help
arc upgrade //Required
注册
执行arc install-certificate http://[host].com:[port]
访问http://[host].com:[port]/conduit/token/
或者http://[host].com:[port]/conduit/login/
遵照terminal提示访问地址(有的同事显示不一样,可能是机器cookie问题)
粘贴token进入terminal
done.
本地配置文件所在位置~/.arcrc
配置
(((
arc install-certificate
CONNECT Connecting to "http://diff.xxxx.cn/api/"...
LOGIN TO PHABRICATOR
Open this page in your browser and login to Phabricator if necessary:
http://diff.infoloop.cn/conduit/login/
Then paste the API Token on that page below.
Paste API Token from that page: cli-npfbsfbsomd26xxx7jtpzc7xqd
)))
设置用户默认配置arc set-config default http://[host].com:[port]
正常的流程需要在项目根目录新建.arcconfig文件填入相应配置,JSON格式. 可选部分欢迎查看这里
{
"phabricator.uri" : "http://[host].com:[port]",
"project_id" : "[ID]"
}
不添加这个而文件也可以,不过功能有很多限制:
流程
本部分来自arcanist
git checkout -b feature_xxx
— 创建一个新分支,并修改代码git add . && git commit -m tt
— 将该提交的都提交上去arc diff [last_commit]
- 此命令会将 last_commit 到最新的 commit 之间的改动的所有代码发送到 phabricator 平台,并创建一个 revision;
- 如果没有指定 last_commit,则会使用 master 分支来作为 last_commit 的起点。
- 运行命令后会弹出一个编辑面板,在此面板中你需要指定 reviewers,即指定一个或多个给你 review code 的人
- 如果指定了多个 reviewers,则其中任何一个 review 通过就可以,不用全部 review 通过
- 另外编辑面板中也有一个 test plan 选项,国外人一般每个项目都有测试,所以此项是必填的,如果没有测试,我们只需要随便设置一个字段即可,比如设置成
no
或skip
- 如果觉得指派reviewer的用法不太方便,可以执行
arc diff --preview
根据生成的diff页面进入配置,生成revision.
- 以上操作之后,系统会发送邮件通知 reviewers 去 review 你的代码,你也可以通过
arc list
来查看当前 review 的状态 - 后续
- 如果 review 没有通过,你需要在原来的基础上修改,修改完并 commit 之后需要执行
arc diff [last_commit] --update D(id)
继续 review - 如果 review 通过了,只需要运行
arc land --onto some_branch
, arc 会将你当前分支合并到 master 上,并删除当前分支
- 如果 review 没有通过,你需要在原来的基础上修改,修改完并 commit 之后需要执行
更多详情可以查看英文文档
done.
其他:https://blog.csdn.net/liangliang103377/article/details/73497769