Fix Git hook installation flagging matching script as mismatch
fixes 124a1ea50
This commit is contained in:
parent
68c160b96b
commit
65219d03e6
|
@ -2,13 +2,14 @@
|
||||||
$targetDir = "$PSScriptRoot/../.git/hooks"
|
$targetDir = "$PSScriptRoot/../.git/hooks"
|
||||||
if (Test-Path $targetDir -PathType Container) { # is Git repo
|
if (Test-Path $targetDir -PathType Container) { # is Git repo
|
||||||
$PSCommandFilename = Split-Path $PSCommandPath -Leaf
|
$PSCommandFilename = Split-Path $PSCommandPath -Leaf
|
||||||
|
$shimChecksum = (Get-FileHash "$PSScriptRoot/git_hook_shim.sh").Hash
|
||||||
foreach ($f in Get-ChildItem "$PSScriptRoot/git_hooks") {
|
foreach ($f in Get-ChildItem "$PSScriptRoot/git_hooks") {
|
||||||
$target = Join-Path $targetDir (Split-Path $f -LeafBase)
|
$target = Join-Path $targetDir (Split-Path $f -LeafBase)
|
||||||
if (!(Test-Path $target -PathType Leaf)) { # target file doesn't exist
|
if (!(Test-Path $target -PathType Leaf)) { # target file doesn't exist
|
||||||
echo "[$PSCommandFilename] creating Git hook $($f.Name)"
|
echo "[$PSCommandFilename] creating Git hook $($f.Name)"
|
||||||
Copy-Item "$PSScriptRoot/git_hook_shim.sh" $target
|
Copy-Item "$PSScriptRoot/git_hook_shim.sh" $target
|
||||||
#TODO use symlinks on Linux
|
#TODO use symlinks on Linux
|
||||||
} elseif ($(Get-FileHash $target).Hash -ne $(Get-FileHash $f.FullName).Hash) { # files differ
|
} elseif ((Get-FileHash $target).Hash -ne $shimChecksum) { # files differ
|
||||||
$head = Get-Content $target -TotalCount 3
|
$head = Get-Content $target -TotalCount 3
|
||||||
echo "[$PSCommandFilename] found existing Git hook $($f.Name), please resolve conflict manually"
|
echo "[$PSCommandFilename] found existing Git hook $($f.Name), please resolve conflict manually"
|
||||||
exit 1
|
exit 1
|
||||||
|
|
Loading…
Reference in New Issue