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 托管的代碼庫才能使用。