Phabricator代码审核Audit用户指南
概览
Phabricator支持两种代码审查工作流:“review”(提交前审查)和 “audit”(提交后审查)。
这篇文档概述了通过Audit工具实现提交后审查流程。
Audit如何工作
使用审核工具允许提交和部署代码,而无需等待代码审查结果,虽然最终还是会进行代码审查。Audit工具主要跟踪两件事:
- 代码提交(Commits),以及它们的审核状态(譬如“未经审核(Not Audited)”、“认可(Approved)”、“引发担忧(Concern Raised)”)。
- 审核请求(Audit Requests)。审核请求提醒用户去审核一次提交。它有多种触发方式。(可见“审核触发器”一节)
在审核工具的主页(位于/audit/)或者phabricator首页可以看到代码的提交和需要你审核的审核请求。

- 必要的审核(Required Audits)。当你是某个项目的成员,或者是一个包的拥有者,Required Audits提示你去审核一次提交。当你认可这次提交时,审核请求会被关闭。
- 问题提交(Problem Commits)。是指有人在审核过程中对你提交的代码表示担忧。当你消除了他们的疑虑并且所有审核人均对代码表示认可时,问题提交将会消失。
举例:
- 翠花进行了一次代码提交
- 铁蛋接收到审核请求
- 过了一阵儿,铁蛋登录Phabricator并在首页看到审核请求
- 铁蛋检查翠花提交的代码。他发现代码中的一些问题,之后他选择了“引发担忧”选项,并且在评论中描述了这些问题
- 翠花收到一封关于铁蛋对她的提交表示忧虑的email。她决定过一会儿再处理这个问题
- 不久后,翠花登录Phabricator并在首页“问题提交”下看到提示
- 翠花通过某些方式解决了那些问题(如“找铁蛋讨论”、“修复问题并提交”)
- 铁蛋表示满意,并认可了最初那次提交
- 审核请求将从铁蛋的待办事项中消失。问题提交也会从翠花的待办事项里消失
审核触发器
- 将“Auditors: username1, username2”写入提交注释中,会触发上述用户接到审核请求
- 可以在Herald工具中,根据提交的属性创建一系列的触发规则。如有文件被创建、文本被修改,提交人等。
- 可以在任何提交中,通过提交注释为自己创建审核请求。
在小团队中进行审核
如果你身处一个小团队并且认为不需要复杂的触发规则,那么你可以创建一个简单的审核工作流,如下所示:
- 创建一个新项目:“Code Audits”。
- 为代码提交创建一条全局规则:”Differential Revision” “does not exist”。在这条规则下,“Code Audits”项目的每一次提交都会触发一次审核请求。
所有工程师加入Code Audits项目。
通过这种方式,所有项目成员都将收到每一次代码提交的审核请求,但是,一旦某一位成员认可了这次提交,那么所有的审核请求便会消除。实际上,这种方式强制大家遵守了一条规则:任何提交都应该被人看到。一旦团队壮大,便可改进触发规则使每位开发人员只看到与他们有关的代码修改。
审核工具小贴士:
- 责任感。在审阅一次代码提交时,你所负责的审核是被突出显示的。你要为自己的任何审核行为负责。
- 在diff对比区域,点击行号将可添加内嵌评论。
- 在diff对比区域,在行号上拖动可添加跨越多行的内嵌评论。
- 内嵌评论最初只保存为草稿,直到你在页面底部提交评论。
- 按“?”键查看快捷键。
Phabricator代码审核Audit用户指南的更多相关文章
- 搭建phabricator代码审核工具
phabricator 依赖环境 系统centos,mysql,php,nginx 1.下载安装脚本 https://secure.phabricator.com/source/phabricator ...
- Gradle用户指南(章9:Groovy快速入门)
Gradle用户指南(章9:Groovy快速入门) 你可以使用groovy插件来构建groovy项目.这个插件继承了java插件的功能,且扩展了groovy编译.你的项目可以包含groovy代码.ja ...
- Gradle用户指南
下载安装gradle 2.1 下载地址:http://www.gradle.org/learn 安装先决条件:gradle安装需要1.6或者更高版本的jdk(jre)(可以使用java –versio ...
- scons用户指南翻译(附gcc/g++参数详解)
scons用户指南 翻译 http://blog.csdn.net/andyelvis/article/category/948141 官网文档 http://www.scons.org/docume ...
- 阿里云 EDAS-HSF 用户指南
阿里云 EDAS-HSF 用户指南 针对 EDAS v2.3.0©Alibaba EDAS 项目组2015/8/19 1 前言本文档旨在描述阿里云 EDAS 产品中应用服务化模块的基本概念,以及如何使 ...
- Android官方技术文档翻译——Gradle 插件用户指南(1-3)
不知道是什么网络问题,上午一直发不了博客,其它页面基本正常,就是在写博客这里,每次打开都是响应超时.刚才用了VPN,顺便试了一下,竟然能够编辑.想是CDN之类的问题吧. 这次翻译的是Gradle 插件 ...
- Android官方技术文档翻译——Gradle 插件用户指南(5)
昨晚把第五章未译完的几句话攻克了.只是第六章没怎么译,明后天又是周末,假设周一前第六章翻译完的话,周一再发第六章. 本文译自Android官方技术文档<Gradle Plugin User Gu ...
- 阿里云API网关(6)用户指南(开放 API )
网关指南: https://help.aliyun.com/document_detail/29487.html?spm=5176.doc48835.6.550.23Oqbl 网关控制台: https ...
- Gradle 1.12用户指南翻译——第二十一章. Gradle 插件
昨天晚上只顾着和女朋友看<匆匆那年>电视剧的最后几集,所以说好的Android文档<Gradle 插件用户指南>第五章自然也没翻译多少.所以今天也发不了第五章的翻译了,就发几个 ...
随机推荐
- 阿里云kubernetes遭入侵pubg进程占用cpu资源100%解决方法
发现服务器CPU占用100%,通过top命令发现pubg -c config.json -t 2占用CPU资源,kill进程会自动启动.黑客入侵方式是kubernetes创建pod. Name: ku ...
- client家族属性
在前面总结了offset家族属性和scroll家族属性,今天来总结一下client家族属性,同前面一样,client家族也包宽高和左上,具体的通过代码来区别这三大家族属性的不同. <!DOCTY ...
- redis(Springboot中封装整合redis,java程序如何操作redis的5种基本数据类型)
平常测试redis操作命令,可能用的是cmd窗口 操作redis,记录一下 java程序操作reids, 操作redis的方法 可以用Jedis ,在springboot 提供了两种 方法操作 Red ...
- 微信7.0以上版本fiddler、Charles抓包报HTTPS证书信任问题通报
通报:微信更新到7.0以后抓包公众号会有证书问题,抓包小程序直接不能打开 各位不用到处找了,也不用怀疑人生了,你没有问题.win10也没有问题.fiddler和Charles也没有问题,是因为微信更新 ...
- 模拟远程SSH执行命令的编解码说明
模拟一个SSH“远程”执行命令并获取命令结果的一个程序: 1.在C/S架构下,当客户端与服务器建立连接(这里以TCP为例)后,二者可以不断的进行数据交互.SSH远程可以实现的效果是客户端输入命令可以在 ...
- webview自总结
2,webview ---- 运行时不调用系统自带浏览器: 1,安卓webview post传值问题: 11,WebView基本功能(html5.文件下载和远程URL) 10,webview--网络超 ...
- SAS 通过逻辑库引用名实现相关联
SAS逻辑库是可以有多个物理位置的 下面的代码示例给出了下定义多个物理位置的SAS逻辑库Y2014. 这3段代码都能实现将逻辑库引用名:Y2014与4个物理位置: e:\sas\data\Quater ...
- 面向对象javascript编程
以构造函数的方式定义对象 function Person(name, age) { this.name = name; this.age = age; this.sayName = function ...
- 有关于Integer的一些小问题
先看一小段源码: Integer a1=; Integer a2=; Integer b1=); Integer b2=); Integer c1=; Integer c2=; System.out. ...
- Html——拖放
设置元素为可拖放 首先,为了使元素可拖动,把 draggable 属性设置为 true : <img draggable="true" /> 拖动什么 - ondrag ...