🐛 fix(vscode): 摘修复按文件改动认已摘过,不靠标题

This commit is contained in:
cruldra committed 2026-09-01 20:01:55 +08:00
1 parent beb7750eac
commit 0214ca1ab5
3 files changed
+125 -8

No files matched your search

+42
View File
@@ -147,4 +147,46 @@ describe('集成', () => {
expect(map.get(a)).toEqual({ number: 260, title: '连续包月会员订阅体系' })
expect(map.get(b)).toEqual({ number: 260, title: '连续包月会员订阅体系' })
})
it('发布分支把同一改动拆成两条,即使标题不同也不再列出', async () => {
fx = await setup()
await cutRelease({ cwd: fx.repo, devBranch: 'main', branch: 'release/2026-08-31' })
writeFileSync(path.join(fx.peer, 'a.txt'), 'A\n')
writeFileSync(path.join(fx.peer, 'b.txt'), 'B\n')
git(fx.peer, ['add', 'a.txt', 'b.txt'])
git(fx.peer, ['commit', '-m', 'fix(jobs): 一次性命令收口'])
commit(fx.peer, 'c.txt', 'c', 'feat: other')
git(fx.peer, ['push', 'origin', 'main'])
git(fx.peer, ['fetch'])
git(fx.peer, ['checkout', '-b', 'release/2026-08-31', 'origin/release/2026-08-31'])
writeFileSync(path.join(fx.peer, 'a.txt'), 'A\n')
git(fx.peer, ['add', 'a.txt'])
git(fx.peer, ['commit', '-m', 'part a'])
writeFileSync(path.join(fx.peer, 'b.txt'), 'B\n')
git(fx.peer, ['add', 'b.txt'])
git(fx.peer, ['commit', '-m', 'part b'])
git(fx.peer, ['push', 'origin', 'release/2026-08-31'])
git(fx.repo, ['fetch', 'origin'])
const list = await listUnreleasedCommits({ cwd: fx.repo, devBranch: 'main', current: 'release/2026-08-31' })
expect(list.map(c => c.subject)).toEqual(['feat: other'])
const s = await getReleaseStatus({ cwd: fx.repo, devBranch: 'main', prefix: 'release/' })
expect(s.unreleased).toBe(1)
})
it('标题相同但改的文件不同,仍算未发布', async () => {
fx = await setup()
await cutRelease({ cwd: fx.repo, devBranch: 'main', branch: 'release/2026-08-31' })
git(fx.peer, ['fetch'])
git(fx.peer, ['checkout', '-b', 'release/2026-08-31', 'origin/release/2026-08-31'])
writeFileSync(path.join(fx.peer, 'a.txt'), 'release-a\n')
git(fx.peer, ['add', 'a.txt'])
git(fx.peer, ['commit', '-m', 'fix(jobs): 一次性命令收口'])
git(fx.peer, ['push', 'origin', 'release/2026-08-31'])
git(fx.peer, ['checkout', 'main'])
writeFileSync(path.join(fx.peer, 'b.txt'), 'main-b\n')
git(fx.peer, ['add', 'b.txt'])
git(fx.peer, ['commit', '-m', 'fix(jobs): 一次性命令收口'])
git(fx.peer, ['push', 'origin', 'main'])
git(fx.repo, ['fetch', 'origin'])
const list = await listUnreleasedCommits({ cwd: fx.repo, devBranch: 'main', current: 'release/2026-08-31' })
expect(list.map(c => c.subject)).toEqual(['fix(jobs): 一次性命令收口'])
})
})