From 448b336c7f1b06bdace5ec8218ba04a97c6e6d6b Mon Sep 17 00:00:00 2001 From: lanyuanxiaoyao Date: Wed, 10 Jun 2026 17:23:51 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=8B=86=E5=88=86=20archive=20?= =?UTF-8?q?=E4=B8=BA=E7=BA=AF=E6=8F=90=E7=A4=BA=E8=AF=8D=E5=91=BD=E4=BB=A4?= =?UTF-8?q?=EF=BC=8C=E6=96=B0=E5=A2=9E=20finish=20=E6=89=A7=E8=A1=8C?= =?UTF-8?q?=E7=9B=AE=E5=BD=95=E5=BD=92=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/cli.ts | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) 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) => {