diff --git a/contrib/guix/guix-clean b/contrib/guix/guix-clean index 9af0a793cff..32258cd7477 100755 --- a/contrib/guix/guix-clean +++ b/contrib/guix/guix-clean @@ -9,6 +9,14 @@ set -e -o pipefail # shellcheck source=libexec/prelude.bash source "$(dirname "${BASH_SOURCE[0]}")/libexec/prelude.bash" +# Parse supported args +FORCE=0 +if [[ $* == "--force" ]]; then + FORCE=1 +elif [ $# != 0 ]; then + echo "Script only takes optional --force arg." + exit 1 +fi ################### ## Sanity Checks ## @@ -80,4 +88,14 @@ for precious_dirs_file in "${found_precious_dirs_files[@]}"; do done < "$precious_dirs_file" done +if [[ $FORCE == 0 ]]; then + git clean -nxdff "${exclude_flags[@]}" + + read -p "Proceed? (y/n) " -r + if [[ ! $REPLY =~ ^[Yy]$ ]]; then + echo "Aborted." + exit 1 + fi +fi + git clean -xdff "${exclude_flags[@]}"