fix(update): recover from incomplete git clean

This commit is contained in:
云服务部-叶林立
2026-08-28 15:08:42 +08:00
parent f3a2abe1e4
commit 29ea39f9b1
4 changed files with 228 additions and 5 deletions
+2
View File
@@ -77,6 +77,8 @@ Powerlevel10k 主题/配置和各 Zsh 插件使用 `# >>> my-pi:<id> >>>` 到
pi update git:git@bitbucket.org:siakitem/my-pi.git
```
默认 Git 组合包若在 Pi 内部清理大型 `node_modules` 时因目录仍非空而留下 `.pi-update-incomplete` 标记,脚本不会在升级前破坏性预清理。首次 `pi update` 失败后,它只对默认来源推导出的缓存 checkout 进行恢复,并同时校验中断标记、canonical Git 根目录和精确 `origin`;校验通过后最多连续执行 4 次依赖清理,再只重试一次 `pi update`,由 Pi 自己重新安装依赖并清除标记。自定义来源、缺少标记或身份不匹配仍立即失败,不会清理猜测出的路径。
随后只处理已经安装的项目,未安装项直接跳过且不会询问安装:Kitty 及已启用的
Solarized Dark、Oh My Zsh、Powerlevel10k、两个第三方 Zsh 插件、CodeGraph,以及由
Homebrew 管理的 Kotlin LSP、Java 21 和 JDT LS。升级前会先刷新或查询对应的远端版本: