File size: 1,215 Bytes
a187b6b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#!/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"