Repository files, collaboration, releases and project activity.
ARCHFORGE HISTORY
Blame · scripts/update.sh
Branch main · the Commit author is not necessarily a verified ArchForge account.
e59b7f7cc6archadmin2026-10-11
1 #!/usr/bin/env bashe59b7f7cc6archadmin2026-10-11
2 set -Eeuo pipefail2109dd33b8archadmin2026-10-12
3 [[ $EUID -ne 0 ]] || { echo 'Run ./update.sh as your normal ArchForge user, NOT with sudo.' >&2; exit 1; }e59b7f7cc6archadmin2026-10-11
4 ROOT=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/.." && pwd)2109dd33b8archadmin2026-10-12
5 [[ -d "$ROOT/.git" ]] || { echo 'Updates require your original ArchForge checkout.' >&2; exit 1; }e59b7f7cc6archadmin2026-10-11
6 [[ -z "$(git -C "$ROOT" status --porcelain)" ]] || { echo 'Uncommitted changes detected. Commit or stash before updating.' >&2;exit 1; }e59b7f7cc6archadmin2026-10-11
7 BRANCH=$(git -C "$ROOT" branch --show-current)e59b7f7cc6archadmin2026-10-11
8 [[ -n "$BRANCH" ]] || { echo 'Detached HEAD. Check out the desired release branch first.' >&2;exit 1; }e59b7f7cc6archadmin2026-10-11
9 echo "Fetching updates for branch $BRANCH..."e59b7f7cc6archadmin2026-10-11
10 git -C "$ROOT" pull --ff-onlye59b7f7cc6archadmin2026-10-11
11 read -rp 'Deploy this version? Type DEPLOY: ' ANSe59b7f7cc6archadmin2026-10-11
12 [[ "$ANS" == DEPLOY ]] || exit 0e59b7f7cc6archadmin2026-10-11
13 sudo bash "$ROOT/scripts/deploy.sh" "$ROOT"