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
羽毛球分组比赛记分
小程序二维码

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

Xiaoye