Clear windows branch; preserve previous contents in win-old
This commit is contained in:
1 parent
f0c881985b
commit
73994d4634
311 files changed
-57018
No files matched your search
@@ -1,34 +0,0 @@
|
||||
[CmdletBinding()]
|
||||
param([Parameter(Mandatory=$true)][string]$LlvmSourceRoot)
|
||||
$ErrorActionPreference='Stop'
|
||||
$repo=[IO.Path]::GetFullPath((Join-Path $PSScriptRoot '../..'))
|
||||
$expected='ff4dc1f7c9e1c64d4d69e40f4ed30c2280a96dfd'
|
||||
$actual=(& git -C $LlvmSourceRoot rev-parse HEAD).Trim()
|
||||
if ($LASTEXITCODE -or $actual -ne $expected) { throw "Expected audited ZLUDA LLVM source $expected, found $actual; review the patch against this revision." }
|
||||
$patches=@(Get-ChildItem (Join-Path $repo 'patches/zluda-llvm') -Filter *.patch | Sort-Object Name)
|
||||
foreach ($patch in $patches) {
|
||||
$oldPreference=$ErrorActionPreference
|
||||
try {
|
||||
$ErrorActionPreference='Continue'
|
||||
& git -C $LlvmSourceRoot apply --reverse --check $patch.FullName 2>$null
|
||||
$applied=($LASTEXITCODE -eq 0)
|
||||
} finally { $ErrorActionPreference=$oldPreference }
|
||||
if (!$applied) {
|
||||
& git -C $LlvmSourceRoot apply --check $patch.FullName
|
||||
if ($LASTEXITCODE) { throw "LLVM source patch conflicts: $($patch.Name)" }
|
||||
& git -C $LlvmSourceRoot apply $patch.FullName
|
||||
if ($LASTEXITCODE) { throw "LLVM source patch failed: $($patch.Name)" }
|
||||
}
|
||||
Write-Host "LLVM source patch present: $($patch.Name)"
|
||||
}
|
||||
# The pinned backport is the entire intended LLVM delta.
|
||||
if ($patches.Count -ne 1) { throw 'Review combined LLVM source provenance before adding more patches.' }
|
||||
$audit=Join-Path $repo ('build/llvm-source-audit-'+[Guid]::NewGuid().ToString('N')+'.patch')
|
||||
New-Item -ItemType Directory -Force (Split-Path $audit) | Out-Null
|
||||
try {
|
||||
& git -C $LlvmSourceRoot diff --binary --output=$audit
|
||||
if ($LASTEXITCODE) { throw 'Cannot audit LLVM source diff.' }
|
||||
$actualDiff=[IO.File]::ReadAllText($audit).Replace("`r`n","`n").TrimEnd()
|
||||
$expectedDiff=[IO.File]::ReadAllText($patches[0].FullName).Replace("`r`n","`n").TrimEnd()
|
||||
if ($actualDiff -cne $expectedDiff) { throw 'LLVM source contains changes outside the exported audited patch.' }
|
||||
} finally { if (Test-Path -LiteralPath $audit) { Remove-Item -LiteralPath $audit } }
|
||||
Reference in new issue
Block a user