# Git Sync Fork - PlatformSistemas Modelo
# Use este script dentro de um FORK para puxar as dependencias do repositório Principal (Upstream)

param(
    [string]$UpstreamUrl = "https://git.itguys.com.br/itguys_dev/Workspace",
    [string]$MainBranch = "frontend_React"
)

Write-Host "========================================" -ForegroundColor Cyan
Write-Host "Sincronizando Fork com Upstream..." -ForegroundColor Cyan
Write-Host "========================================" -ForegroundColor Cyan

# 1. Verifica se o upstream já existe
$remotes = git remote
if ($remotes -notcontains "upstream") {
    Write-Host "Adicionando remote 'upstream': $UpstreamUrl" -ForegroundColor Yellow
    git remote add upstream $UpstreamUrl
}

# 2. Busca atualizações do upstream
Write-Host "Buscando novidades do nucleo central..." -ForegroundColor Yellow
git fetch upstream

# 3. Faz o merge das dependencias e nucleo (na branch atual)
Write-Host "Mesclando alteracoes da branch $MainBranch para sua branch atual..." -ForegroundColor Yellow
git merge upstream/$MainBranch

if ($LASTEXITCODE -eq 0) {
    Write-Host "`nSincronizacao concluida! Agora rode 'npm install' para atualizar dependencias." -ForegroundColor Green
} else {
    Write-Host "`nHouve conflitos durante a sincronizacao. Resolva-os manualmente." -ForegroundColor Red
}

Write-Host "========================================`n" -ForegroundColor Cyan
