setup.sh: checks if git directory is dirty before bothering user with potentially scary question

This commit is contained in:
Joe Schr 2023-02-02 16:54:27 +01:00
parent 300e9acd37
commit 330461cf1e
1 changed files with 24 additions and 12 deletions

View File

@ -191,14 +191,23 @@ function update() {
} }
# Reset Develop or Stable branch # Reset Develop or Stable branch
function check_git_changes() {
if [ -z "$(git status --porcelain)" ]; then
echo "No changes in git directory"
return 0
else
echo "Changes in git directory"
return 1
fi
}
function reset() { function reset() {
echo_block "Resetting branch and virtual env" echo_block "Resetting branch and virtual env"
if [ "1" == $(git branch -vv |grep -cE "\* develop|\* stable") ] if [ "1" == $(git branch -vv |grep -cE "\* develop|\* stable") ]
then then
if check_git_changes; then
read -p "Reset git branch? (This will remove all changes you made!) [y/N]? " read -p "Keep your local changes? (Otherwise will remove all changes you made!) [Y/n]? "
if [[ $REPLY =~ ^[Yy]$ ]]; then if [[ $REPLY =~ ^[Nn]$ ]]; then
git fetch -a git fetch -a
@ -211,6 +220,9 @@ function reset() {
echo "- Hard resetting of 'stable' branch." echo "- Hard resetting of 'stable' branch."
git reset --hard origin/stable git reset --hard origin/stable
fi fi
else
echo "Reset ignored because you are not on 'stable' or 'develop'."
fi
fi fi
else else
echo "Reset ignored because you are not on 'stable' or 'develop'." echo "Reset ignored because you are not on 'stable' or 'develop'."