envision/scripts/_clone_or_pull.sh

31 lines
481 B
Bash
Executable file

#!/bin/bash
# exit on error
# echo commands
set -ev
GIT_URL=$1
REPO_DIR=$2
_usage() {
echo "Usage: $0 GIT_URL REPO_DIR"
exit 1
}
if [[ -z $REPO_DIR ]]; then
_usage
fi
if [[ -z $GIT_URL ]]; then
_usage
fi
if [[ -d "$REPO_DIR" ]]; then
if [[ ! -d "$REPO_DIR/.git" ]]; then
echo "Error: $REPO_DIR exists but is not a git repository"
exit 1
fi
git -C "$REPO_DIR" pull
else
git clone "$GIT_URL" "$REPO_DIR" --recurse-submodules
fi