aboutsummaryrefslogtreecommitdiffstats
path: root/roles/jails/08_diddle/templates/root_clone.sh
blob: 7f92c5f3298d0642a5dc0ca9270976d54ac646a8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#!/bin/sh

REPO="$1"
TARGET="$2"

set -eux

# Exits with 100 if the directory was changed

if [ ! -d "$TARGET" ]; then
    git clone --depth=1 --branch main --single-branch "$REPO" "$TARGET"
    exit 100
fi

cd "$TARGET"
before=$(git rev-parse HEAD)
git fetch --depth=1 --prune origin main
git reset --hard origin/main
after=$(git rev-parse HEAD)

if [ "$before" != "$after" ]; then exit 100; fi