What problem does it solve?
Branch snaps coordinate release branch cuts across main, release/insiders, and release/stable for dotnet repos like dotnet/roslyn, ensuring version bumps and channel migrations happen in a controlled, auditable way.
Core Features & Use Cases
- Automates the Gather, Plan, and Execute phases for Roslyn-style snaps, including PR generation and signaling for pre/post steps.
- Uses a take-source merge strategy to apply content from the source branch to the target while preserving history and minimizing conflicts, and constructs target PublishData.json overrides per branch.
- Updates critical configuration files (Versions.props, Razor Directory.Build.props for Razor scenarios), SARIF files, and darc default channels, while drafting pre-snap emails and milestone moves.
- Handles interim PublishData.json adjustments for VS branch shifts, and provides a clear rollback/cleanup plan after the snap completes.
Quick Start
Review the current Roslyn repo state and initiate the branch snap workflow to align main, insiders, and stable with the next VS version.