| #!/bin/sh |
| set -eu |
|
|
| repository_root=$(CDPATH= cd -- "$(dirname -- "$0")/.." && pwd) |
| target=${1:-"$repository_root/.repro/batdetect2"} |
| url='https://github.com/macaodha/batdetect2.git' |
| revision='9e2697458d3b3b03c30ccd7e49ed5409c8ac330d' |
| checkpoint='src/batdetect2/models/checkpoints/batdetect2_uk_same.ckpt' |
| expected_sha256='52e3f329a046e434d16751005b252b4fd1b142b8b63a4edc2740aeb81f48adcf' |
|
|
| if test ! -e "$target"; then |
| mkdir -p "$(dirname -- "$target")" |
| git clone --filter=blob:none --no-checkout "$url" "$target" |
| git -C "$target" checkout --detach "$revision" |
| elif test ! -d "$target/.git"; then |
| echo "$target exists but is not a Git checkout" >&2 |
| exit 1 |
| fi |
|
|
| actual_revision=$(git -C "$target" rev-parse HEAD) |
| test "$actual_revision" = "$revision" || { |
| echo "$target: expected revision $revision, got $actual_revision" >&2 |
| exit 1 |
| } |
| actual_sha256=$(shasum -a 256 "$target/$checkpoint" | awk '{print $1}') |
| test "$actual_sha256" = "$expected_sha256" || { |
| echo "$target/$checkpoint: expected SHA-256 $expected_sha256, got $actual_sha256" >&2 |
| exit 1 |
| } |
| cmp "$target/$checkpoint" "$repository_root/upstream/batdetect2_uk_same.ckpt" |
| echo "$target: pinned source revision and archived checkpoint verified" |
|
|