slahser:Arcanist用法简介

转自: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.gitgit clone https://github.com/phacility/libphutil.git

(2)设置环境变量

vim ~/.zshrcexport PATH=$PATH:/Users/xixicat/devtool/arcanist/binsource ~/.zshrc

(3)使用

arc help

 

2. 第一种:

brew tap homebrew/php brew install arcanist arc help

第一种方法因为无法执行arc upgrade暂时舍弃.

3. 第二种:

brew install nodenpm install -g arcanistarc helparc 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 上,并删除当前分支
  • 更多详情可以查看英文文档

    done.

     

    其他:https://blog.csdn.net/liangliang103377/article/details/73497769

    相关推荐

    相关文章