Gemini CLI 修复设置迁移覆盖 ${VAR} 环境变量占位符的 bug
villahernandez-coder · ghdev · 2026-10-22
google-gemini/gemini-cli 的 PR #29867 修复了一个配置迁移 bug:自动迁移弃用设置时,会把同一子树内 ${VAR} / ${VAR:-default} 等环境变量占位符在磁盘上覆写为运行时展开后的值。
修复方式
- 给 LoadedSettings.setValue 增加可选 originalValue 参数(用 structuredClone 独立克隆),使子树迁移可同时更新运行时展开的 settings 和保留原始 JSON 的 originalSettings,且不破坏现有 3 参调用。
- 改造 migrateDeprecatedSettings 与 migrateExperimentalSettings,条件判断基于展开后的 settingsFile.settings,编辑则应用到 settingsFile.originalSettings 的浅拷贝上,覆盖全部弃用设置迁移项。
- 避免仅迁移 experimental.plan 时写入空的 agents.overrides。
- 新增单元与回归测试,验证运行时展开与原始占位符保留两种行为。
「编程与Agent」频道最新
- Vercel 推出免注册部署:拖拽文件到首页即得线上 URL — steren · 2026-10-23
- 5 个 Claude Code 会话经 MCP 互发邮件,组队攻破多品牌网络摄像头 — doodlestein · 2026-10-23
- Vercel 上线 vercel deploy --temporary,可临时部署后自动清理 — cramforce · 2026-10-23
- 用同一个 Notion 工作区让多个 Agent 互相沟通分工,实测有效 — nbaschez · 2026-10-23
- Sierra 伦敦大会被指逊色旧金山场,Agent 落地数据成稀缺话题 — DimlyDimwitted · 2026-10-23
- 开源 C-Sweet 用本地 27B 小模型模拟整家公司运营 — Demonicated · 2026-10-23