diff --git a/git_helpers.sh b/git_helpers.sh new file mode 100755 index 0000000..5325222 --- /dev/null +++ b/git_helpers.sh @@ -0,0 +1,41 @@ +#!/bin/bash +set -x +commit_before_pull="" + +save_commit_before_pull () { + commit_before_pull=$(git reflog | grep "HEAD@{0}" | cut -d" " -f1) + if ! [ -z "$commit_before_pull" ]; then + if grep -qE "^[[:xdigit:]]{6,}$" <<< $commit_before_pull; then + return 0 + fi + fi + commit_before_pull="" + return 1 +} +# save_commit_before_pull + +revert_to_commit_before_pull () { + if ! [ -z "$commit_before_pull" ]; then + if grep -qE "^[[:xdigit:]]{6,}$" <<< $commit_before_pull; then + `git reset --hard "$commit_before_pull"` + if [ $? -eq 0 ]; then + return 0 + fi + fi + fi + return 1 +} +# revert_to_commit_before_pull + +clone_customer_repository () { + if [ $(ls -A ./workspace&>/dev/null && printf "N\n" || printf "Y\n") = 'Y' ]; then + `git clone https://git.mimbach49.de/GerhardHoffmann/customer_281.git` + fi +} + +create_workspace () { + `mkdir -p ./workspace` + if [ $? -eq 0 ]; then + clone_customer_repository + fi +}