我希望我的團隊包括我自己來審查對方的提交。除非其他團隊成員審覈,否則任何提交都不應該包括我在內的回購。我有點迷失在phabricator文檔中,所以我在這裏問,有沒有什麼方法可以設置這種工作流?Phabricator限制git推送
11
A
回答
19
只能限制推至Phabricator託管庫。如果你的倉庫託管在其他地方(比如GitHub),Phabricator顯然不能阻止用戶推送它。
要限制推動,創建一個新先驅報規則(在先驅應用程序),就像這樣:
- 創建一個新的「提交鉤子:提交內容」的規則。
- 選擇「Global」作爲規則類型。
然後配置這樣的規則:
When [all of] these conditions are met:
[Accepted Differential revision][does not exist]
Take these actions every time this rule matches:
[Block change with message][Review is required for all changes.]
您可能需要使用附加條件就是這樣,只能運行在特定的儲存庫中的規則:
[Repository][is any of][ ... list of review-requied repositories ... ]
還是像條件這一點,讓用戶繞過規則在緊急情況下在消息寫一些字符串,如「@旁路審查」:
[Body][does not contain][@bypass-review]
如果您添加了這樣的旁路,您可以在拒絕消息中提及它。
8
看來你想要一個pre-commit代碼審查。我們通過以下步驟設置這(我們使用Git的回購協議。如果你使用的是其他類型的,這些步驟可能會有所不同。):
- 設置導報規則
- 新規則:
Commit Hook: Commit Content
- 如果你只想要一個回購協議,你可以使用規則類型:
Object
,但是,我們使用Global
- 的條件:我們選擇
Accepted Differential revision
和does not exist
- 行動:
Block Change with message
對於消息,我們將它們指的是走他們通過使用奧術師
- 新規則:
- 每個項目都需要一個.arcconfig至少這行的文章:
{ "phabricator.uri": "http://your.phabricator.url" }
- 日日開發商將不得不使用arcanist。
- 開發人員創建本地分支。
- 更改並提交代碼到本地分支。
- 完成後,運行
arc diff [base_branch_name]
- 這將創建一個差異版本,允許其他開發人員對代碼進行編碼審閱。
- 如果需要更改,開發商都要看一眼自己的本地分支,進行更改,使提交,並重新運行
arc diff [base_branch_name]
更新的差異。 - 所有修訂後完成後,運行
arc land [local_branch_name] --onto [base_branch_name]
我希望這有助於。此外,Phabricator開發者在freenode.net IRC頻道中進行環聊,名爲#phabricator
。加入社區吧!他們一直對我非常有幫助。
相關問題
- 1. 限制Git推/拉
- 2. 推送通知限制
- 3. 管理git - 主分支推送權限
- 4. git推送和服務器權限
- 5. 是否可以根據其大小限制git推送?
- 6. TFS和Git - 使用戶被限制爲推送代碼
- 7. 在Phabricator中創建回推/推送代碼
- 8. Git推/拉 - 按子域限制
- 9. Git重置和強制推送
- 10. Git推送命令
- 11. git推送錯誤
- 12. Git推送錯誤
- 13. Localytics推送通知文本限制
- 14. 限制Google Analytics異步事件推送?
- 15. iPhone推送通知字符限制
- 16. 推送通知iPhone是否有限制?
- 17. 蘋果推送通知服務限制
- 18. 如果在Phabricator中不接受提交,如何限制push到git存儲庫?
- 19. 使git推尊重權限?
- 20. Git Quota限制
- 21. Gitlab-git推送失敗
- 22. 推送一些文件 - Git
- 23. Git推送錯誤| Bitbucket Repository
- 24. Git推送隨機失敗
- 25. Git推送服務器?
- 26. Git錯誤403推送
- 27. Git推送到服務器
- 28. git-tfs推送.tg .git文件夾
- 29. 當git倉庫文件大小超過限制,推送被拒絕
- 30. 強制推送和正常推送git之間的區別是什麼
我們使用源碼樹/ git擴展作爲客戶端,如果我們實現這個提交鉤子,可以請給出一個示例提交消息格式。 – Strikers 2015-04-28 07:29:43