#!/bin/sh set -e WORKHORSE_DIR=workhorse/ WORKHORSE_REF="$(cat GITLAB_WORKHORSE_VERSION)" WORKHORSE_URL=${GITLAB_WORKHORSE_URL:-https://gitlab.com/gitlab-org/gitlab-workhorse.git} if [ $# -gt 1 ] || ([ $# = 1 ] && [ x$1 != xcheck ]); then echo "Usage: update-workhorse [check]" exit 1 fi if echo "$WORKHORSE_REF" | grep -q '^[0-9]\+\.[0-9]\+\.[0-9]\+' ; then # Assume this is a tagged release WORKHORSE_REF="v${WORKHORSE_REF}" fi clean="$(git status --porcelain)" if [ -n "$clean" ] ; then echo 'error: working directory is not clean:' echo "$clean" exit 1 fi git fetch "$WORKHORSE_URL" "$WORKHORSE_REF" git rm -rf --quiet -- "$WORKHORSE_DIR" git read-tree --prefix="$WORKHORSE_DIR" -u FETCH_HEAD status="$(git status --porcelain)" if [ x$1 = xcheck ]; then if [ -n "$status" ]; then cat <