dsh-better-sidebar-svn:爲 DSH 側邊欄增加 SVN 面板

前言

DSH 的理念是「一切皆插件」。如果在 web 側邊欄裏做日常開發,但項目仍然使用 SVN,缺少一個直接查看狀態、差異和提交歷史的入口會比較麻煩。dsh-better-sidebar-svn 是面向 dsh-better-sidebar 的插件,把 SVN 常用操作放到側邊欄中。

下面介紹它的能力、安裝方式,以及使用時需要注意的邊界。

這是什麼

ztyhehe/dsh-better-sidebar-svn 是一個 web 端 DSH 插件,依賴 dsh-better-sidebar >=0.12.0。它爲側邊欄新增 SVN 標籤頁,支持 status、diff、log、commit、update、revert 等常用操作。

該插件由 ztyhehe 維護,使用系統 svn 命令行工具完成實際操作。SVN 命令統一使用 --xml 輸出,並以非交互方式執行。許可證爲 MIT。

核心功能

  • 狀態面板:變更分「已暫存 / 未暫存」兩段顯示。
  • 文件 Diff:查看差異對比,支持關鍵詞搜索、路徑過濾、n/m 計數,以及 Enter / Shift+Enter 上下跳轉。
  • 暫存式提交:使用 SVN changelist dsh-commit 管理待提交文件,提交時只提交已暫存文件。
  • 常用維護:支持 svn update、還原單個文件修改、添加未版本控制文件。
  • 忽略規則:讀寫當前目錄的 svn:ignore,規則不遞歸。
  • 提交歷史:分頁加載,並顯示變更文件列表。
  • 衝突解決:對沖突文件提供快速解決按鈕。
  • 降級容錯:系統缺失 svn 時顯示 svn-missing 提示;面板組件有 ErrorBoundary,渲染異常時顯示佔位而不是整面板空白。

安裝與啓用

先確認前置條件:

  1. 已安裝 dsh-better-sidebar >=0.12.0
  2. 系統已安裝 svn 命令行工具,版本 1.7+
  3. Node 環境滿足 >=20

安裝命令如下:

cd ~/.dsh && dsh plugin --profile web add dsh-better-sidebar && dsh plugin --profile web add git+https://github.com/ztyhehe/dsh-better-sidebar-svn.git

這條命令分兩步:先添加 dsh-better-sidebar,再添加本插件。構建產物 lib/ 已隨倉庫提交,通過 git 直接安裝時不需要本地構建工具鏈。

安裝後硬刷新瀏覽器(Cmd/Ctrl+Shift+R),側邊欄中會出現「SVN」標籤頁。

如果之後需要移除:

cd ~/.dsh && dsh plugin --profile web remove dsh-better-sidebar-svn

典型用法

經過上面的步驟,可以在側邊欄中按以下方式使用:

  1. 打開「SVN」標籤頁,查看工作副本狀態。
  2. 在狀態面板裏把文件加入或移出「待提交」列表。
  3. 點擊文件查看 Diff;需要定位時,可用關鍵詞搜索、路徑過濾和 Enter / Shift+Enter 跳轉。
  4. 確認暫存列表後執行提交;提交隻影響已暫存文件。
  5. 需要同步遠端時使用 svn update;需要還原單個文件修改時執行還原。
  6. 如果某些本地文件不想加入版本控制,可在忽略規則中維護當前目錄的 svn:ignore。
  7. 在歷史區分頁查看提交記錄,並查看每次提交關聯的變更文件列表。

SVN 命令統一帶 --non-interactive --no-auth-cache 參數,並以 --xml 輸出結果,便於程序解析。

適用場景與注意

適合已經使用 DSH web 側邊欄、且項目中存在 SVN 工作副本的場景。它把常用 SVN 操作集中到側邊欄中,便於在瀏覽器裏直接查看狀態、差異、歷史和變更文件。

注意以下幾點:

  • svn log 需要訪問倉庫服務器,可能產生網絡往返;服務端緩存 TTL 爲 1 小時。
  • 忽略規則僅作用於當前目錄,不遞歸到子目錄。
  • 插件以當前 dsh 進程權限運行,安裝前應檢查源碼、依賴和許可證。
  • DSH 社區目錄是獨立站點,與 DeepSeek / 幻方沒有官方從屬關係,不應將其理解爲官方應用商店。

資料鏈接

  • 目錄頁:https://www.skillhub.cn/plugins/ztyhehe/dsh-better-sidebar-svn
  • GitHub:https://github.com/ztyhehe/dsh-better-sidebar-svn
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜