Skip to content

Issue 128 Validation

clean edited this page Sep 29, 2026 · 1 revision

Issue #128 验收记录

自动验证

命令 / 场景 结果
npm test -w server -- --runInBand 22 套件、238 项通过
npm test -w web 184 项通过;保留 #129 交互测试并验证远程类型传递
npm test -w @alune/ssh-client 136 项通过,2 项 Windows 专用测试在 macOS 跳过;客户端代码与前轮验证一致
npm run build -w @alune/shared 通过
npm run build -w @alune/ssh-client 通过
npm run build -w server 通过
npm run build -w web 通过;存在现有 bundle 大小提示
git diff --check、Prettier、commitlint 通过

新增 branch-switch.spec.ts 共 22 项,分别通过本地连接和真实回环 SSH 执行 Git。覆盖 HTTP 创建、重复选择、不同名称跟踪分支、多个跟踪分支优先当前分支、无上游及其他上游冲突、换名创建、多 remote、斜杠 remote 名称、本地 origin/ / remotes/ 字面名称、远程 HEAD 别名、失效 ref、非法名称、暂存与未暂存覆盖保护、执行失败及写锁释放。

浏览器与截图

使用 ego-browser 操作真实应用服务。截图仅含临时 fixture 仓库,无真实账户、凭据或服务器地址。

修复前:v0.5.1

在独立基线 checkout badbd0e 构建运行,选择工具条里的 remotes/origin/feature/demo。工具条显示“游离 HEAD”;分支面板没有创建本地 feature/demo,远程行也没有切换按钮。

Alune 修复前进入游离 HEAD

修复后:本地仓库

从工具条选择 origin/feature/demo,再从分支面板选择 origin/feature/panel。界面显示本地分支名、当前标记与对应 upstream;远程行提供切换入口。

Alune 本地跟踪分支与上游

同名分支未配置上游时,显示名称冲突。沿用 #129 的取消、切换现有分支、换名创建选项,不覆盖原分支或跟踪关系。

Alune 本地分支冲突选择

SSH 回归

最终代码在 SSH 仓库从工具条创建 feature/demo,从分支面板创建 feature/panel,实际 upstream 分别为 origin/feature/demo 和 origin/feature/panel。同一事件周期连续点击工具条选项只发出一次切换请求;网络记录包含分支列表、提交历史与状态刷新。

Alune SSH 仓库切换后显示跟踪分支

本地冲突交互已逐项操作:取消保持原分支;选择现有 feature/conflict 保持原来的无上游状态;换名创建 feature/alternative 后,其 upstream 为 origin/feature/conflict。

未提交改动保护通过本地与真实 SSH 自动测试核验:文件、暂存区、HEAD、分支集合与 upstream 不变,失败后可再次操作。

未验证范围

本次未手工验证 Windows / Linux 桌面界面、旧 Git 版本、外部 SSH 主机及真实远端凭据。回环 SSH 验证协议与执行链路,不等同于外部网络、跳板机或认证环境验收。

Clone this wiki locally