Repository navigation
v1.0.0
DSH Web GUI 右侧栏 git 面板的 v1.0.0:M5b 之后的一批收尾——F-1 缺陷、依赖升到 DSH 0.2.0-rc.2、两处观感修正,以及 v1.0 发布本身。已交付范围见 README 的「What works today」。
本次改动
- git 操作端到端有界(F-1) —— 此前点取回(fetch)等操作可能一直转圈。现在宿主侧的 deadline 由 SIGTERM 升级到 SIGKILL,并以进程 结束 为准,而不是等
close事件:父进程退出后仍占着管道的 helper 不再拖住结果。请求在宿主与浏览器各带一条时限,超时后的写操作会明说 结果未知(git 可能还在跑)并回读仓库,不再谎报成功或失败。 - 依赖升到 DSH 0.2.0-rc.2 —— 随发行版发布的类型与生产实际运行的那份 DSH 对齐;
legacy-peer-deps的绕行随 0.1.5-rc.1 一起消失。 - 取回字形重画 —— 「拉取」旁那枚由虚线箭头改成 云 + ↓,靠形状而不是线型与「拉取」区分;该字形自己的默认尺寸 13 → 15px。
- 禁用的主按钮文字保持可读。
- v1.0 发布收尾 —— 版本号
0.1.0→1.0.0,README 与已交付范围对齐,安装路径在隔离的$DSH_HOME里核对过。
附件
dsh-git-panel-1.0.0.tgz(120.5 kB)—— 本次发布的安装包,lib/index.js 与 lib/client.js 已构建好,装它不需要 devDependencies,也不需要现场构建。
安装
需要 DSH >= 0.2.0-rc.2 与 git >= 2.20。装完都必须重启 dsh web —— bundle 只在启动时组合。面板随后通过右侧栏的 + 出现,名字是「Git changes」。
A. 一条命令,用本次发布的预构建包(推荐)
dsh plugin --profile web add https://github.com/tu1918/dsh-git-plugin/releases/download/v1.0.0/dsh-git-panel-1.0.0.tgz(这个链接是钉住 tag 的写法,不会随下次发版失效。想要 latest 形式的链接,得让附件名不带版本号——带版本的资产名配上 latest/download/ 会在下次发版当天静默 404。)
B. 从源码目录(开发/改代码时)
git clone https://github.com/tu1918/dsh-git-plugin.git
cd dsh-git-plugin && npm install # prepare 会跑 build,产出 gitignore 的 lib/
dsh plugin --profile web add link:"$PWD"lib/ 是派生产物、不入库,所以这条路必须先构建;一次都没构建过的检出会在 dsh web 启动时报 missing bundle,而不是静默少一块。
校验
npm run check 全绿:tsc --noEmit + 630 项测试 + build。
附件本身也按它自己的路径验过一遍:在隔离的 $DSH_HOME 里 dsh plugin add <本附件> → profile 依赖写成 file:…/dsh-git-panel-1.0.0.tgz 并装好(只拉 vscode-diff,peer 依赖由 harness 提供)→ dsh --profile web --dump-config 出现 - id: ui-git-panel 一层 → dsh web --port 3099 起来后 GET /git-panel/status?session=none 回插件自己的信封 no-session,即 host 半确实从装好的包里挂载成功;包内 lib/*.js 与本地构建逐字节一致。附件直链的匿名请求也确认过:200,120517 字节。