diff --git a/src/cli.ts b/src/cli.ts index a28b6e4..745dc2d 100644 --- a/src/cli.ts +++ b/src/cli.ts @@ -286,6 +286,19 @@ cli.command("archive ", "归档阶段").action(async (changeName: s } const config = await loadConfig(root); const prompt = await assembleArchivePrompt(config, root, changeName); + console.log(prompt); +}); + +cli.command("finish ", "归档变更").action(async (changeName: string) => { + validateChangeName(changeName); + const root = requireProjectRoot(); + const changeDir = getChangeDir(root, changeName); + if (!existsSync(changeDir)) { + const prefix = getPmPrefix(); + throw new CommandError(`变更 '${changeName}' 不存在`, { + hint: `请先运行 ${prefix} create ${changeName} 创建变更`, + }); + } const today = new Date().toISOString().slice(0, 10); const dest = join(getArchiveDir(root), `${today}-${changeName}`); if (existsSync(dest)) { @@ -294,7 +307,7 @@ cli.command("archive ", "归档阶段").action(async (changeName: s }); } await rename(changeDir, dest); - console.log(prompt); + console.log(`变更 "${changeName}" 已归档到 .rune/archive/${today}-${changeName}`); }); cli.command("status [change-name]", "查看变更状态").action(async (changeName?: string) => {