diff --git a/automated install/basic-install.sh b/automated install/basic-install.sh index 15fd93be..42e06bdf 100755 --- a/automated install/basic-install.sh +++ b/automated install/basic-install.sh @@ -220,6 +220,16 @@ getGitFiles() { return 0 } +resetRepo() { + local directory="${1}" + + cd "${directory}" &> /dev/null || return 1 + echo -n "::: Resetting repo in ${1}..." + git reset --hard &> /dev/null || return $? + echo " done!" + return 0 +} + find_IPv4_information() { local route # Find IP used to route to outside world @@ -1190,7 +1200,16 @@ update_dialogs() { clone_or_update_repos() { if [[ "${reconfigure}" == true ]]; then echo "::: --reconfigure passed to install script. Resetting changes to local repos" - git reset --hard + resetRepo ${PI_HOLE_LOCAL_REPO} || \ + { echo "!!! Unable to reset ${PI_HOLE_LOCAL_REPO}, unable to continue."; \ + exit 1; \ + } + if [[ ${INSTALL_WEB} == true ]]; then + resetRepo ${webInterfaceDir} || \ + { echo "!!! Unable to reset ${webInterfaceDir}, unable to continue."; \ + exit 1; \ + } + fi else # Get Git files for Core and Admin getGitFiles ${PI_HOLE_LOCAL_REPO} ${piholeGitUrl} || \