aboutsummaryrefslogtreecommitdiff
path: root/clean.sh
diff options
context:
space:
mode:
authorNathan Ringo <nathan@remexre.com>2024-10-05 10:08:34 -0500
committerNathan Ringo <nathan@remexre.com>2024-10-05 10:08:34 -0500
commit4b291d1804ef5fc9bc6cb02c58af383066975d15 (patch)
treeb108b3d8857c9def3938372933a40ae571cfe776 /clean.sh
parenta50049ae050c625e66b5f9280929cbf2f98cdec4 (diff)
Improve clean script.
Diffstat (limited to 'clean.sh')
-rwxr-xr-xclean.sh8
1 files changed, 7 insertions, 1 deletions
diff --git a/clean.sh b/clean.sh
index c8a4e4d..c15e201 100755
--- a/clean.sh
+++ b/clean.sh
@@ -1,6 +1,12 @@
#!/usr/bin/env bash
set -euxo pipefail
-cd "$(dirname "${BASH_SOURCE[0]}")"
+
+cd "$(git rev-parse --show-toplevel)"
+
+if [ "$(git status --porcelain=v1 --ignored -z | grep -z '^!!' | wc -c)" = 0 ]; then
+ exit
+fi
+
git status --porcelain=v1 --ignored -z \
| grep -z '^!!' \
| xargs -0 awk 'BEGIN { for(i = 1; i < ARGC; i++) printf "%s%c", substr(ARGV[i], 4), 0; }' \