diff --git a/scripts/ktx-reset.sh b/scripts/ktx-reset.sh new file mode 100755 index 00000000..808e0d25 --- /dev/null +++ b/scripts/ktx-reset.sh @@ -0,0 +1,26 @@ +#!/bin/bash +# ktx-reset.sh - Reset a ktx project directory back to its seed state. +# +# Removes everything in except ktx.yaml and .ktx/, and prunes .ktx/ +# down to just .ktx/secrets/. Useful when re-running ingest/setup against +# a known-clean project tree. + +set -e +set -o pipefail + +if [ -z "$1" ]; then + echo "usage: ktx-reset " >&2 + exit 1 +fi + +dir="${1%/}" +if [ ! -d "$dir" ]; then + echo "ktx-reset: $dir is not a directory" >&2 + exit 1 +fi + +find "$dir" -mindepth 1 -maxdepth 1 ! -name ktx.yaml ! -name .ktx -exec rm -rf {} + +if [ -d "$dir/.ktx" ]; then + find "$dir/.ktx" -mindepth 1 -maxdepth 1 ! -name secrets -exec rm -rf {} + +fi +tree -a "$dir"