mirror of
https://github.com/microsoft/PowerToys.git
synced 2026-10-28 08:36:04 +08:00
## Summary of the Pull Request Fixes preview release branch-transition deltas that incorrectly report stable cherry-picks as removed when the matching PR exists before the merge base in `main`. The resolver now compares PR identities and equivalent patches against each branch's full reachable history. It also excludes content-free aggregate promotion merges, such as `main`-to-`stable` release merges, from semantic release notes. ## PR Checklist - [x] **Tests:** Added/updated and all pass - [x] **Dev docs:** Added/updated - [x] **New binaries:** N/A ## Detailed Description of the Pull Request / Additional comments `get-preview-release-delta.ps1` previously built identity sets only from commits after the merge base. A stable cherry-pick after that merge base was therefore reported as removed even when the same PR had already merged into `main` earlier with a different SHA. The updated resolver: - Collects PR identities from the full reachable history of both release commits. - Uses `git cherry` to recognize equivalent patches across the full histories. - Ignores merge commits with no independent patch when they only promote a parent already contained by the opposite branch. - Documents the full-history comparison in `.github/skills/release-note-generation/references/preview-delta-resolution.md`. - Adds regression coverage in `.github/skills/release-note-generation/tests/preview-release.Tests.ps1`. This was exercised against preview build `155850552`, where the corrected delta changed from 11 added / 71 removed PRs to 11 added / 0 removed PRs. Of the false removals, 68 had the same PR identity in `main`, and three were aggregate promotion merges. ## Validation Steps Performed - `Invoke-Pester .\.github\skills\release-note-generation\tests\preview-release.Tests.ps1 -EnableExit` - 26/26 passed. - Recomputed build `155850552` against published stable `v0.101.2362.0`: 11 added, 0 removed, 0 unattributed commits. - Ran the canonical preview dry-run verifier: PASS with 7/7 assets verified. --------- Copilot-Session: 5e9606ff-44ec-4d35-990e-a1fb2c0a10b1 Copilot-Session: 4953c1b4-3f0f-45b3-84a5-1d26d8800de1