webdrop-bridge/build/scripts/sync_remotes.ps1
claudi db0cef4797
Some checks are pending
Tests & Quality Checks / Test on Python 3.11 (push) Waiting to run
Tests & Quality Checks / Test on Python 3.12 (push) Waiting to run
Tests & Quality Checks / Test on Python 3.11-1 (push) Waiting to run
Tests & Quality Checks / Test on Python 3.12-1 (push) Waiting to run
Tests & Quality Checks / Test on Python 3.10 (push) Waiting to run
Tests & Quality Checks / Test on Python 3.11-2 (push) Waiting to run
Tests & Quality Checks / Test on Python 3.12-2 (push) Waiting to run
Tests & Quality Checks / Build Artifacts (push) Blocked by required conditions
Tests & Quality Checks / Build Artifacts-1 (push) Blocked by required conditions
fix: Correct PowerShell syntax in sync_remotes.ps1 and add graceful error handling
2026-01-28 13:07:45 +01:00

74 lines
2.2 KiB
PowerShell

# Sync script to keep origin and upstream remotes in sync
# Usage: .\sync_remotes.ps1 [--push-to-origin]
param(
[switch]$PushToOrigin
)
$ErrorActionPreference = "Stop"
$scriptPath = Split-Path -Parent $MyInvocation.MyCommand.Path
$repoRoot = Split-Path -Parent (Split-Path -Parent $scriptPath)
Write-Host "Remote Sync Script - WebDrop Bridge" -ForegroundColor Cyan
Write-Host "Repository: $repoRoot`n" -ForegroundColor Gray
# Change to repo directory
Push-Location $repoRoot
try {
# Fetch from both remotes
Write-Host "Fetching from origin..." -ForegroundColor Yellow
git fetch origin
Write-Host "Fetching from upstream..." -ForegroundColor Yellow
git fetch upstream
# Show status
Write-Host "`nRemote Status:" -ForegroundColor Cyan
git remote -v
# Show branch comparison
Write-Host "`nBranch Comparison:" -ForegroundColor Cyan
Write-Host "Latest commits:" -ForegroundColor Gray
# Suppress errors for log commands
$ErrorActionPreference = "SilentlyContinue"
$originLog = git log --oneline origin/main -5
if ($originLog) {
Write-Host "Origin:" -ForegroundColor Gray
$originLog | ForEach-Object { Write-Host " $_" }
} else {
Write-Host " origin/main: (not found)" -ForegroundColor Gray
}
$upstreamLog = git log --oneline upstream/main -5
if ($upstreamLog) {
Write-Host "Upstream:" -ForegroundColor Gray
$upstreamLog | ForEach-Object { Write-Host " $_" }
} else {
Write-Host " upstream/main: (not found)" -ForegroundColor Gray
}
# Restore error handling
$ErrorActionPreference = "Stop"
# Optionally push to origin
if ($PushToOrigin) {
Write-Host "`nPushing current branch to origin..." -ForegroundColor Yellow
$currentBranch = git rev-parse --abbrev-ref HEAD
git push origin $currentBranch
Write-Host "Pushed $currentBranch to origin" -ForegroundColor Green
} else {
Write-Host "`nTip: Use --push-to-origin flag to push current branch to origin" -ForegroundColor Gray
}
Write-Host "`nSync complete!" -ForegroundColor Green
}
catch {
Write-Host "`nError: $_" -ForegroundColor Red
exit 1
}
finally {
Pop-Location
}