动机
Git 分支选择器目前只支持创建分支。使用 git worktree 需要手动执行 shell 命令,而且被 worktree 检出的分支无法从面板删除(分支被任何 worktree 检出时 git branch -d/-D 都会被拒绝)。
改动
Git Worktree
- 创建:在「创建新分支」旁新增「新建 Worktree」入口。worktree 创建在
~/.liveagent/worktree/<repo_id>/<worktree_name>(repo_id 由规范化后的仓库根路径派生:清洗后的仓库名 + fnv1a64 哈希),自动检出同名新分支,并在侧边栏打开为新工作区。
- 删除:当分支被 worktree 检出时,分支操作面板切换为「删除 Worktree」,移除 worktree 及其分支;worktree 含未提交改动时提供强制移除的二次确认。后端拒绝删除未登记路径。
侧边栏项目分组
- 项目列表支持用户自定义分组:新建、重命名、删除(项目回到未分组)、移动项目、分组折叠状态。
- Worktree 自动聚合到以原始仓库项目命名的分组(原始项目与全部 worktree 同组)。分组按
sourceProjectPath 匹配,重命名分组不会重复建组;从 worktree 再创建的 worktree 会溯源回原始仓库。
- 分组区块按组内最早成员排序(pinned/running 成员提升整组),折叠视图不会拆开分组。
持久化修复
workspaceProjectGroups 之前不在系统设置保存白名单中,保存时被静默丢弃,导致重启后分组消失。现已持久化(含 round-trip 测试)。
测试
- Rust:worktree 创建/布局/移除 + 3 个新测试、设置 round-trip 测试——676 全部通过
- 前端:1460 个测试通过(分组纯函数、设置归一化)
动机
Git 分支选择器目前只支持创建分支。使用 git worktree 需要手动执行 shell 命令,而且被 worktree 检出的分支无法从面板删除(分支被任何 worktree 检出时
git branch -d/-D都会被拒绝)。改动
Git Worktree
~/.liveagent/worktree/<repo_id>/<worktree_name>(repo_id 由规范化后的仓库根路径派生:清洗后的仓库名 + fnv1a64 哈希),自动检出同名新分支,并在侧边栏打开为新工作区。侧边栏项目分组
sourceProjectPath匹配,重命名分组不会重复建组;从 worktree 再创建的 worktree 会溯源回原始仓库。持久化修复
workspaceProjectGroups之前不在系统设置保存白名单中,保存时被静默丢弃,导致重启后分组消失。现已持久化(含 round-trip 测试)。测试