37 lines
961 B
Plaintext
37 lines
961 B
Plaintext
|
#!/usr/bin/env bash
|
||
|
|
||
|
function error_handler() {
|
||
|
>&2 echo "Exited with BAD EXIT CODE '${2}' in ${0} script at line: ${1}."
|
||
|
exit "$2"
|
||
|
}
|
||
|
trap 'error_handler ${LINENO} $?' ERR
|
||
|
set -o errtrace -o errexit -o nounset -o pipefail
|
||
|
|
||
|
# HELP: git adds and commits the entire BPMN models directory, including all process groups
|
||
|
|
||
|
bpmn_models_absolute_dir="$1"
|
||
|
git_commit_message="$2"
|
||
|
git_commit_username="$3"
|
||
|
git_commit_email="$4"
|
||
|
|
||
|
if [[ -z "${2:-}" ]]; then
|
||
|
>&2 echo "usage: $(basename "$0") [bpmn_models_absolute_dir] [git_commit_message]"
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
cd "$bpmn_models_absolute_dir"
|
||
|
git add .
|
||
|
|
||
|
# https://unix.stackexchange.com/a/155077/456630
|
||
|
if [ -z "$(git status --porcelain)" ]; then
|
||
|
echo "No changes to commit"
|
||
|
else
|
||
|
if [[ -n "$git_commit_username" ]]; then
|
||
|
git config --local user.name "$git_commit_username"
|
||
|
fi
|
||
|
if [[ -n "$git_commit_email" ]]; then
|
||
|
git config --local user.email "$git_commit_email"
|
||
|
fi
|
||
|
git commit -m "$git_commit_message"
|
||
|
fi
|