mirror of
https://github.com/microsoft/PowerToys.git
synced 2026-05-18 05:05:25 +02:00
## Summary of the Pull Request .NET 10 Upgrade. Requires Visual Studio 2026. ## PR Checklist - [x] **Communication:** I've discussed this with core contributors already. If the work hasn't been agreed, this work might be rejected - [ ] **Tests:** Added/updated and all pass - [ ] **Localization:** All end-user-facing strings can be localized - [ ] **Dev docs:** Added/updated - [ ] **New binaries:** Added on the required places - [ ] [JSON for signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json) for new binaries - [ ] [WXS for installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs) for new binaries and localization folder - [ ] [YML for CI pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml) for new test projects - [ ] [YML for signed pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml) - [ ] **Documentation updated:** If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys) and link it here: #xxx ## Detailed Description of the Pull Request / Additional comments - Upgraded target framework from `net9.0` to `net10.0` across all projects - Removed redundant package references now included by default in .NET 10 - Updated package versions to .NET 10 releases - Modernized regex usage with source generators for better performance - Added `vbcscompiler` to the spell-check allowlist (`.github/actions/spell-check/expect.txt`) ## Validation Steps Performed <!-- START COPILOT CODING AGENT TIPS --> --- 🔒 GitHub Advanced Security automatically protects Copilot coding agent pull requests. You can protect all pull requests by enabling Advanced Security for your repositories. [Learn more about Advanced Security.](https://gh.io/cca-advanced-security) --------- Co-authored-by: Jeroen van Warmerdam <jeronevw@hotmail.com> Co-authored-by: Copilot <copilot@github.com> Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
55 lines
1.5 KiB
PowerShell
55 lines
1.5 KiB
PowerShell
# Auto-resolve cherry-pick conflicts
|
|
param([int]$MaxAttempts = 100)
|
|
|
|
$attempts = 0
|
|
while ($attempts -lt $MaxAttempts) {
|
|
$attempts++
|
|
|
|
# Check if cherry-pick is in progress
|
|
$status = git status --porcelain
|
|
if (-not $status) {
|
|
Write-Host "Cherry-pick complete!" -ForegroundColor Green
|
|
break
|
|
}
|
|
|
|
# Get conflicted files
|
|
$conflicts = git diff --name-only --diff-filter=U
|
|
|
|
if ($conflicts) {
|
|
Write-Host "Attempt $attempts`: Resolving conflicts..." -ForegroundColor Yellow
|
|
|
|
foreach ($file in $conflicts) {
|
|
Write-Host " Resolving: $file"
|
|
git checkout --ours $file 2>$null
|
|
}
|
|
|
|
# Handle deleted files
|
|
git status --short | Where-Object { $_ -match '^DU' } | ForEach-Object {
|
|
$file = ($_ -split '\s+', 2)[1]
|
|
Write-Host " Removing deleted: $file"
|
|
git rm $file 2>$null
|
|
}
|
|
|
|
git add . 2>$null
|
|
}
|
|
|
|
# Try to continue
|
|
$result = git cherry-pick --continue 2>&1
|
|
|
|
if ($LASTEXITCODE -eq 0) {
|
|
Write-Host " Continued successfully" -ForegroundColor Green
|
|
}
|
|
elseif ($result -match 'empty') {
|
|
Write-Host " Skipping empty commit" -ForegroundColor Cyan
|
|
git cherry-pick --skip 2>&1 | Out-Null
|
|
}
|
|
else {
|
|
Write-Host " Error: $result" -ForegroundColor Red
|
|
Start-Sleep -Seconds 1
|
|
}
|
|
}
|
|
|
|
if ($attempts -ge $MaxAttempts) {
|
|
Write-Host "Max attempts reached. Check status manually." -ForegroundColor Red
|
|
}
|