aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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; }' \