diff --git a/vscode/package.json b/vscode/package.json index 5632250..3a5e772 100644 --- a/vscode/package.json +++ b/vscode/package.json @@ -2,7 +2,7 @@ "publisher": "clurdra", "name": "superpowers-vscode-clurdra", "displayName": "Superpowers-clurdra", - "version": "0.2.114", + "version": "0.2.115", "packageManager": "pnpm@10.27.0", "description": "Superpowers specs and plans Kanban explorer", "author": "clurdra", diff --git a/vscode/src/git/release.ts b/vscode/src/git/release.ts index 0694bb9..fa5b96c 100644 --- a/vscode/src/git/release.ts +++ b/vscode/src/git/release.ts @@ -245,13 +245,13 @@ async function commitFileChangeKeys(cwd: string, sha: string): Promise } /** 发布分支上每个文件已有的改动指纹。用来认出「一次提交被拆成多次摘过去」的情况。 */ -async function releaseFileChangeKeys(cwd: string, current: string, files: Set): Promise> { +async function releaseFileChangeKeys(cwd: string, current: string, devBranch: string, files: Set): Promise> { const keys = new Set() if (files.size === 0) return keys const log = await mustGit( cwd, - ['log', '--no-merges', '--name-only', '--format=%n%H', `origin/${current}`], + ['log', '--no-merges', '--name-only', '--format=%n%H', `origin/${devBranch}..origin/${current}`], '读取发布分支改动失败', ) let sha = '' @@ -298,7 +298,7 @@ export async function listUnreleasedCommits(o: { cwd: string, devBranch: string, for (const key of keys) files.add(key.slice(0, key.indexOf('\0'))) } - const released = await releaseFileChangeKeys(o.cwd, o.current, files) + const released = await releaseFileChangeKeys(o.cwd, o.current, o.devBranch, files) return commits.filter((c) => { const keys = perCommitKeys.get(c.sha) ?? [] return keys.length === 0 || keys.some(k => !released.has(k))