Fix `install_git_hooks.ps1` failing when target file doesn't exist

fixes 5c3171171
of course I covered every case but the obvious one
This commit is contained in:
YoshiRulz 2024-06-07 15:54:39 +10:00
parent 8f7e613398
commit 84e337b05c
No known key found for this signature in database
GPG Key ID: C4DE31C245353FB7
1 changed files with 14 additions and 9 deletions

View File

@ -4,16 +4,21 @@ if (Test-Path $targetDir -PathType Container) { # is Git repo
$PSCommandFilename = Split-Path $PSCommandPath -Leaf
foreach ($f in Get-ChildItem "$PSScriptRoot/git_hooks") {
$target = Join-Path $targetDir $f.Name
if ($(Get-FileHash $target).Hash -ne $(Get-FileHash $f.FullName).Hash) {
$head = Get-Content $target -TotalCount 3
if ($magicHeader -in $head) {
echo "[$PSCommandFilename] updating existing Git hook $($f.Name)"
Copy-Item $f $target
} else {
echo "[$PSCommandFilename] found existing Git hook $($f.Name), please resolve conflict manually"
# should probably make the scripts extensible then...
exit 1
if (Test-Path $target -PathType Leaf) { # target file exists
if ($(Get-FileHash $target).Hash -ne $(Get-FileHash $f.FullName).Hash) { # files differ
$head = Get-Content $target -TotalCount 3
if ($magicHeader -in $head) {
echo "[$PSCommandFilename] updating existing Git hook $($f.Name)"
Copy-Item $f $target
} else {
echo "[$PSCommandFilename] found existing Git hook $($f.Name), please resolve conflict manually"
# should probably make the scripts extensible then...
exit 1
}
}
} else {
echo "[$PSCommandFilename] creating Git hook $($f.Name)"
Copy-Item $f $target
}
}
}