用途:将现有 Git 仓库转换为 Jujutsu(jj)与 Git 共存的仓库,并对 jj 配置做审查与补齐。
主要能力与模式:
- 自动模式:检测到 .git/ 存在且 .jj/ 不存在时,执行共存初始化并随后进行配置审查。
- 手动模式:用户在已有 .jj/ 的仓库中调用 /jj-init,跳过初始化,直接进入配置审查与对话配置。
使用方式: 前置条件是 jj 在 PATH 中,用 command -v jj 检查;若不存在则停止,不继续。 检测条件为 test -d .git && ! test -d .jj,满足则运行 jj git init --colocate,在既有 .git/ 旁创建 .jj/,保留全部 Git 历史。初始化成功后向用户确认,随后进入配置审查。若 jj git init --colocate 失败,显示错误并停止,不自动重试。 配置审查运行 python3 scripts/audit_jj_config.py,展示输出并简要总结重要缺口。配置对话按类别逐个进行:身份(user.name、user.email)、签名(signing.backend、signing.behavior、signing.key、git.sign-on-push)、工具(ui.editor、ui.diff-editor、merge-tools.)、工作流/界面(ui.default-command、ui.color、ui.graph.style、ui.log-word-wrap、ui.movement.edit)、高级(aliases.、revset-aliases."immutable_heads()"、templates.log)。
对话规则:一次只问一个问题并等待回答;某类别已配置则简短说明后继续;用户说 skip、next 或 done 时立即遵从;执行任何 jj config set 前先展示确切命令;每次修改后用 jj config list <key> 验证。问题提示词可参考 references/checklist.md。
范围与写入:身份、签名、编辑器、界面偏好默认使用 --user;仓库特定工作流选择使用 --repo;用户未指定范围时,写入前说明将采用的范围。jj config set 需要 TOML 值,含空格或特殊字符的字符串需加引号。沙箱环境中若因权限失败可提升权限重试,仍失败则展示命令请用户协助。
结束:所有类别审查完或用户表示完成后,给出简短总结,包括初始化内容(自动模式)、已设置或修改的配置键、用户选择跳过的遗留缺口。
限制:需 jj 已在 PATH;初始化失败不自动重试;未提供收费、价格、平台及具体效果信息;参考资料仅含审查脚本 scripts/audit_jj_config.py 与对话清单 references/checklist.md,其余内容暂未提供。