Bug 修复
-
update.skip不再把 breaking release 升级卡在半迁移状态。 之前,.trellis/config.yaml里配了update.skip的项目在跨越 breaking release 时行为不一致:rename会忽略 skip,但safe-file-delete和 template-write 会尊重 skip。结果用户升完还是半迁移 —— 老的废弃文件还留在 skip 保护的路径下、新命令(比如continue.md)根本没落地、每次 update 都在反复 flag 这些文件。 现在当本次升级跨越的 manifest 里有breaking: true + recommendMigrate: true且用户加了--migrate,update.skip会对以下三类操作都 bypass:safe-file-delete迁移- 新文件写入(比如 0.5.0 的
continue.md命令) - 已有文件的模板更新(比如 0.5.0 的
finish-work.md)
safe-file-delete的allowed_hasheshash 检查也仍然是终极兜底(hash 不匹配的文件会被标记为skip-modified保留,无论 bypass 是否触发)。 非 breaking 的普通 update 照常尊重update.skip—— 只有 breaking release 才会触发 bypass。 breaking-change 警告区新增一条黄色⚠ update.skip BYPASSED提示,说明哪些 skip 保护下的文件这次会被清理,用户不会被突然删文件吓到。
迁移
如果你从 0.4.x 升到 0.5 beta.2 后,update.skip 保护路径下留下了半迁移状态(老命令和新 skill 并存),这个版本能帮你收尾:
⚠ update.skip BYPASSED 提示,列出这次终于要清理的文件。
安装:npm install -g @mindfoldhq/trellis@beta