Thunderbird Patch Review
在 Thunderbird 內部審閱來自電子郵件的 git 補丁
簡介
這是一個 Thunderbird 附加元件。開啟一封補丁電子郵件,按下「審閱」,對變更區塊留下評論,以郵件清單回覆方式傳送審閱結果,並使用 git-am(1) 將整個系列套用到本機儲存庫。
螢幕截圖
安裝(原始碼)
將擴充功能原始碼打包成 .xpi 檔案,然後透過附加元件管理員的齒輪選單(從檔案安裝附加元件...)進行安裝。若要打包,請在專案根目錄執行以下指令:
(cd extension && zip -qrX ../patch-review.xpi .)
之後我會將此附加元件上傳至 Thunderbird。
設定
開啟擴充功能的偏好設定:
編輯器指令成功套用後,在儲存庫中執行,並將變更的檔案作為引數。請使用非阻斷式的 GUI 指令,例如 code -n 或 emacsclient -n;純終端機編輯器無法在終端機中開啟。留空則使用 $EDITOR。
git am --3way(預設)或純 git am。
對補丁的 List-Id 標頭或寄件者進行子字串比對,並對應至絕對儲存庫路徑。當沒有符合的對應時,會使用最後一次套用系列的路徑;該路徑會被記住,直到變更為止。
可透過「瀏覽」按鈕選擇儲存庫路徑,該按鈕會開啟 Thunderbird 原生的目錄選擇器;無論哪種方式,路徑欄位皆可編輯。
權限
messagesRead讀取所選訊息及其在同一資料夾中的同級補丁(主旨、作者、內文),以建立審閱。
accountsRead解析擁有被審閱訊息的帳戶之預設身分,用於 From 地址標籤及 send-as。
storage跨重啟保存草稿評論(以 Message-ID 為鍵),以及編輯器指令、套用策略、儲存庫對應,以及最後套用的儲存庫路徑。
compose, (compose.send)從「傳送審閱」開啟「回覆全部」撰寫視窗,並在「立即傳送」模式下傳送。若無 compose.send,審閱只能在撰寫視窗中預覽,無法傳送。
downloads將「下載補丁集 .mbox」寫入磁碟。
tabs開啟審閱分頁,並在成功傳送後移除該分頁。
具權限的「套用」、「瀏覽...」及「開啟編輯器」程式碼不使用 Mozilla 權限:它是一個封裝在 XPI 內部的 WebExtension Experiment(experiment_apis.patchHost),僅在擴充功能載入時執行。
Sourcehut 整合
當系列是透過 sourcehut 郵件清單送達時,傳送審閱時會出現設定補丁狀態標頭的選項。它使用 Sourcehut 的電子郵件控制。
注意事項
目前尚不支援以附件形式送達的補丁、純 HTML 郵件,以及從 git worktree 預覽進行審閱。系列收集僅會搜尋已開啟訊息所在的資料夾。
另請參閱
介紹文章包含一小段動機說明。
免責聲明
此附加元件是使用 GLM5.2 透過氛圍編碼(vibe coded)完成,目的是為了解決我團隊的需求。我原本猶豫是否要分享,因為我通常不喜歡氛圍編碼的專案。然而,鑑於生態系統中非常缺乏這類工具,我還是決定分享。
我並未逐行審閱程式碼,但設計了系統應採用的整體方法,並專注於盡可能減少依賴。我也已手動搭配測試套件,對外掛程式進行了廣泛的 QA 測試。
貢獻
貢獻與錯誤回報請寄至郵件清單: ~marcc/[email protected]。
作者
Marc Coquand
0 Comments
Log in to join the conversation.No comments yet. Be the first to share your thoughts.