phabricator 在线文档:
https://secure.phabricator.com/book/phabricator/
diffusion 基本说明
https://secure.phabricator.com/book/phabricator/article/diffusion/
Repository 分类说明以及如何导入一个已存在的代码仓库
https://secure.phabricator.com/book/phabricator/article/diffusion_uris/
查看或导入已存在的代码仓库
https://secure.phabricator.com/book/phabricator/article/diffusion_existing/
配置由 phabricator 托管的代码仓库
https://secure.phabricator.com/book/phabricator/article/diffusion_hosting/
review 与 audit 的区分
https://secure.phabricator.com/book/phabricator/article/reviews_vs_audit/
arcanist 快速安装
https://secure.phabricator.com/book/phabricator/article/arcanist_quick_start/
arcanist 基本使用说明
https://secure.phabricator.com/book/phabricator/article/arcanist/
https://secure.phabricator.com/book/phabricator/article/arcanist_diff/
Differential 基本使用说明
https://secure.phabricator.com/book/phabricator/article/differential/
Audit 基本使用说明
https://secure.phabricator.com/book/phabricator/article/audit/
Inline Comments 作用说明
https://secure.phabricator.com/book/phabricator/article/differential_inlines/
Herald 规则引擎配置说明
https://secure.phabricator.com/book/phabricator/article/herald/
强制执行 Code Review --创建 Herald 规则
https://www.jianshu.com/p/b1a75a14638c
post-push code review workflow(Audit):
1、开发人员提交代码到代码库,系统根据 Herald 设定规则向特定人员发送审查申请(Audit Request);
2、审查人员收到审查申请,通过 Open Audits 查看提交的变更内容,如果发现问题,可通过添加评论的方式并以"Raise Concern"向开发人员反馈回去;
3、开发人员收到反馈邮件,登录到 phabricator 查看反馈内容,然后修改代码后再次提交,并且以"Request Verification"通知审查人员再次审查;
4、审查人员确认修改无误后,使用"Accept Commit"关闭本次审查工作流;
pre-push code review workflow(Differential):
1、开发人员 author 在自己机器上开发好代码,通过本机安装的 arcanist 工具推送变更内容(arc diff)到 phabricator 系统的 Differential 面板中,等待 reviewer 审查代码。此时,代码还没有正式提交到代码库;
2、审查人员 reviewer 收到 phabricator 自动发送的审查请求邮件;
3、审查人员 reviewer 在 Differential 中审查变更的代码,可以选择审核通过,或者标注出有问题的代码,要求开发人员 author 重新修改;
4、开发人员 author 修复bug后再次提交审查,如此反复,直到审查通过;
5、一旦审核人员审查通过,确认接受变更(accepted),则开发人员可以将代码最终提交(arc commit)到代码库svn中;
若要支持 pre-push 工作流,代码仓库必须由 phabricator 自己托管。
phabricator 暂仅支持通过 SSH 协议对 SVN 进行代码托管。
已经存在的 svn 代码库如果要支持 pre-push 工作流,只能将现有的 svn 代码库迁移(svnsync)或物理拷贝到 phabricator 托管的代码库才能使用。