Commit c08e4cd
committed
fix(worktree): 删除时按当前真实分支清理已改名的 worktree 分支
产品层面:
- 修复用户在创建子 worktree 后手动重命名分支时,删除 worktree 仍沿用旧分支名,导致专用分支残留的问题。
- 保持 detached HEAD 等原有兜底行为不变,避免删除流程在无有效当前分支时误删错误引用。
技术层面:
- 在 `removeWorktreeAsync` 中将删除分支前的 `wtBranch` 解析调整为“优先读取当前 worktree 真实分支,再回退到元数据记录”。
- 继续复用既有 `resolveWorktreeBranchNameAsync`,确保分支信息在 worktree 目录被移除前完成解析。
- 补充回归测试,覆盖 worktree 分支被手动改名后仍能正确删除 worktree 与对应分支的场景。
验证:
- `npx vitest run electron/git/worktreeMetaFallback.test.ts electron/git/worktreeBaseBranchOwner.test.ts`
Signed-off-by: Lulu <58587930+lulu-sk@users.noreply.github.com>1 parent d5489d1 commit c08e4cd
2 files changed
+50
-3
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
268 | 268 | | |
269 | 269 | | |
270 | 270 | | |
| 271 | + | |
| 272 | + | |
| 273 | + | |
| 274 | + | |
| 275 | + | |
| 276 | + | |
| 277 | + | |
| 278 | + | |
| 279 | + | |
| 280 | + | |
| 281 | + | |
| 282 | + | |
| 283 | + | |
| 284 | + | |
| 285 | + | |
| 286 | + | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
| 292 | + | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
| 296 | + | |
| 297 | + | |
| 298 | + | |
| 299 | + | |
| 300 | + | |
| 301 | + | |
| 302 | + | |
| 303 | + | |
| 304 | + | |
| 305 | + | |
| 306 | + | |
| 307 | + | |
| 308 | + | |
| 309 | + | |
| 310 | + | |
| 311 | + | |
| 312 | + | |
271 | 313 | | |
272 | 314 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1797 | 1797 | | |
1798 | 1798 | | |
1799 | 1799 | | |
1800 | | - | |
| 1800 | + | |
| 1801 | + | |
| 1802 | + | |
1801 | 1803 | | |
1802 | | - | |
| 1804 | + | |
1803 | 1805 | | |
1804 | | - | |
| 1806 | + | |
| 1807 | + | |
| 1808 | + | |
| 1809 | + | |
1805 | 1810 | | |
1806 | 1811 | | |
1807 | 1812 | | |
| |||
0 commit comments