diff --git a/clean_and_recreate_all b/clean_and_recreate_all index 1b740f8..b9df6bc 100755 --- a/clean_and_recreate_all +++ b/clean_and_recreate_all @@ -1,6 +1,8 @@ #!/bin/bash NO_PROMPT="false" +CLEAN_ALL="false" +RESTORE_MODIFIED="false" START_VITIS="false" IMPORT_HW_PLATFORM_ONLY="false" @@ -9,6 +11,10 @@ REPO_INITIALIZED_FILE_EXISTS="false" for arg in "$@"; do if [ $arg == "--no-prompt" ]; then NO_PROMPT="true" + elif [ $arg == "--clean-all" ]; then + CLEAN_ALL="true" + elif [ $arg == "--restore-modified" ]; then + RESTORE_MODIFIED="true" elif [ $arg == "--start-vitis" ]; then START_VITIS="true" elif [ $arg == "--import-hw-platform-only" ]; then @@ -16,23 +22,32 @@ for arg in "$@"; do fi done +if ! [ -f ".repo_initialized" ]; then + echo "!!! INFO !!! It seems that you have not executed the 'init_after_clone' script. Please run it first!" + exit 1 +fi + if [ $NO_PROMPT == "false" ]; then read -p "!!! WARNING !!! All unstaged and untracked files will be deleted! Press ENTER to continue or CTRL+C to abort..." fi echo "############################################################" -echo "# Delete all unstaged and untracked files ..." +echo "# Delete all untracked files ..." echo "############################################################" -if [ -f ".repo_initialized" ]; then - REPO_INITIALIZED_FILE_EXISTS="true" - rm -f .repo_initialized + +if [ $CLEAN_ALL == "true" ]; then + git clean -dfx -e "/.repo_initialized" +else + git clean -dfx -e "/.repo_initialized" -e "/.metadata/.plugins/org.eclipse.core.runtime" -e "/.metadata/.plugins/org.eclipse.debug.core" -e "/.metadata/.plugins/org.eclipse.tcf.debug" fi -git clean -dfx +if [ $RESTORE_MODIFIED == "true" ]; then + echo "############################################################" + echo "# Restore all unstaged files ..." + echo "############################################################" -if [ $REPO_INITIALIZED_FILE_EXISTS == "true" ]; then - touch .repo_initialized - echo "This file is checked by the 'init_after_clone' script." >> .repo_initialized + git restore . + git submodule update --recursive fi echo "############################################################" @@ -59,9 +74,11 @@ fi # Disable Vitis welcome screen FILE=".metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.prefs" -touch $FILE -echo "eclipse.preferences.version=1" >> $FILE -echo "showIntro=false" >> $FILE +if ! [ -f $FILE ]; then + touch $FILE + echo "eclipse.preferences.version=1" >> $FILE + echo "showIntro=false" >> $FILE +fi echo "############################################################" echo "# ... finished!"