跳轉到內容

Phabricator 管理員手冊/Arcanist

來自華夏公益教科書,為開放世界提供開放書籍
Phabricator 徽標

Arcanist 是一款命令列工具,專為開發者與 Phabricator 互動而設計。例如,使用 Arcanist,您可以將補丁傳送到 Phabricator 程式碼庫。

Arcanist 簡化了一些協作工作流程。

例如,這可能是一個 Arcanist 支援的工作流程

  • 一位貢獻者克隆程式碼庫並進行一些更改
  • 該貢獻者執行 arc diff 並按照說明共享其補丁並開始審查
    • 補丁可能會被接受或拒絕,例如要求進行其他編輯
    • 補丁可以更改,直到它不再符合上游的預期
    • 每次補丁更新都可能會觸發一些 與 Harbormaster 的持續整合檢查
    • 補丁最終可以被接受
  • 貢獻者可能能夠執行 arc land 將其補丁合併到上游程式碼庫中,並使用正確的提交訊息 - 或者如果貢獻者不受信任且不允許推送,則上游開發者可以為他執行 arc land 等。

此工作流程適用於 git、Subversion 和 Mercurial(略有不同)。

注意:補丁也可以在沒有 Arcanist 的情況下上傳,但您會失去一些功能!所以嘗試一下。

有關使用 arc diff 的更多說明

補丁 vs 拉取請求

[編輯 | 編輯原始碼]

有時人們不熟悉 Phabricator 推廣的“補丁”邏輯。與“拉取請求邏輯”相比,“補丁”邏輯的有趣之處在於,補丁可以多次更改,也可以從頭開始重寫等,並且可以促進線性歷史記錄。

事實上,在補丁審查結束時,補丁可以“合併”到程式碼庫中,並使用單個乾淨的提交。這樣,您可以保持“一個想法”=“一個提交”。

一個實際的例子是 Phabricator 程式碼庫本身,其中每個提交都與一個補丁相關聯,該補丁在上線之前會經過大量的討論和重寫。結果是一個具有乾淨且線性歷史記錄的程式碼庫,其中每個提交都代表一個想法,並且每個提交都包含有關需求等的完整說明。

https://secure.phabricator.com/source/phabricator/history/master/

安裝 Arcanist

[編輯 | 編輯原始碼]

Arcanist 在大多數 GNU/Linux 發行版中都有打包。

在 Debian-based 發行版中安裝

[編輯 | 編輯原始碼]

在 Debian GNU/Linux、Ubuntu 或任何其他衍生發行版中,安裝 Arcanist 非常簡單

sudo apt install arcanist

就是這樣。

在 Microsoft Windows 中安裝

[編輯 | 編輯原始碼]

如果您想在 Microsoft Windows 10 中安裝 Arcanist,您可以按照相關頁面進行操作

華夏公益教科書