#!/usr/bin/env bash # # Copyright: Jade Lovelace 2024 doChecks() { # creates refs in the refs/prefetch/remotes/origin namespace echo "Prefetching repo changes..." >&2 git fetch --quiet --prefetch --no-write-fetch-head origin diffs=$(git rev-list --left-right --count HEAD...refs/prefetch/remotes/origin/main) only_in_local=$(echo "$diffs" | cut -f1) only_in_main=$(echo "$diffs" | cut -f2) if [[ $only_in_main -gt 0 && ! -v $FORCE_DEPLOY_DGNUM ]]; then echo >&2 echo "Attempting to deploy when main has $only_in_main commits not in your branch!" >&2 echo "This will probably revert someone's changes. Consider merging them." >&2 echo "If you really mean it, set the environment variable FORCE_DEPLOY_DGNUM" >&2 exit 1 fi if [[ $only_in_local -gt 0 ]]; then echo "You have $only_in_local commits not yet pushed to main. Reminder to push them after :)" >&2 fi } if [[ $1 == 'apply' ]]; then doChecks fi exec @colmena@ "$@"