From b622804b03714e0bb7a265db4188900aee53771c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ricardo=20Sard=C3=A1?= Date: Tue, 21 Jul 2026 15:13:40 -0300 Subject: [PATCH] Atualizacao Pilot_Install --- pilot_installer_utilities.ps1 | 82 +++++++++++++++++++++++++---------- 1 file changed, 60 insertions(+), 22 deletions(-) diff --git a/pilot_installer_utilities.ps1 b/pilot_installer_utilities.ps1 index 01345e1..57e9662 100644 --- a/pilot_installer_utilities.ps1 +++ b/pilot_installer_utilities.ps1 @@ -140,28 +140,59 @@ try { $env:GIT_TERMINAL_PROMPT = '0' - # ===== AUTOATUALIZAÇÃO FORÇADA ===== - Write-Info "Preparando diretório temporário para clone limpo..." - - if (Test-Path -LiteralPath $WorkDir) { - Write-Info "Removendo diretório temporário antigo..." - #Remove-Item -LiteralPath $WorkDir -Recurse -Force -ErrorAction SilentlyContinue - #testando se funcionou - } - - Ensure-Dir $WorkDir - - Write-Info "Clonando repositório (branch $Branch) para $WorkDir ..." - & git (Get-GitCommonArgs -AuthHeader $AuthHeader) clone --depth 1 --branch $Branch $RepoUrl $WorkDir - + # ===== AUTOATUALIZAÇÃO ===== if (-not (Test-Path -LiteralPath (Join-Path $WorkDir '.git'))) { - throw "Falha ao clonar repositório." + + Write-Info "Primeira execução. Clonando repositório..." + + if (Test-Path -LiteralPath $WorkDir) { + Remove-Item -LiteralPath $WorkDir -Recurse -Force -ErrorAction SilentlyContinue + } + + Ensure-Dir $WorkDir + + & git (Get-GitCommonArgs -AuthHeader $AuthHeader) clone --depth 1 --branch $Branch $RepoUrl $WorkDir + + if (-not (Test-Path -LiteralPath (Join-Path $WorkDir '.git'))) { + throw "Falha ao clonar repositório." + } + + $NeedCopy = $true + } + else { + + Write-Info "Verificando atualizações..." + + Push-Location $WorkDir + + & git (Get-GitCommonArgs -AuthHeader $AuthHeader) fetch origin $Branch + + $LocalCommit = (& git rev-parse HEAD).Trim() + $RemoteCommit = (& git rev-parse ("origin/" + $Branch)).Trim() + + if ($LocalCommit -ne $RemoteCommit) { + + Write-Info "Nova versão encontrada." + + & git reset --hard ("origin/" + $Branch) + + $NeedCopy = $true + } + else { + + Write-Ok "Repositório já está atualizado." + + $NeedCopy = $false + } + + Pop-Location } - Write-Ok "Clone concluído." + if ($NeedCopy) { - Write-Info "Copiando arquivos para $TargetDir (sem espelhar)..." - $rc = robocopy ` + Write-Info "Copiando arquivos para $TargetDir..." + + $rc = robocopy ` $WorkDir ` $TargetDir ` * ` @@ -170,10 +201,17 @@ try { /XF ".gitignore" ".gitattributes" ` /LOG:$CopyLog - if ($LASTEXITCODE -ge 8) { - throw "Falha ao copiar arquivos. Veja o log: $CopyLog" - } else { - Write-Ok "Cópia finalizada. (código robocopy: $LASTEXITCODE) Log: $CopyLog" + if ($LASTEXITCODE -ge 8) { + throw "Falha ao copiar arquivos. Veja o log: $CopyLog" + } + else { + Write-Ok "Cópia concluída." + } + } + else { + Write-Ok "Nenhuma alteração encontrada." + } +copy: $LASTEXITCODE) Log: $CopyLog" } # ===== FORÇA A ATUALIZAÇÃO DOS ARQUIVOS PRINCIPAIS =====