summaryrefslogtreecommitdiff
path: root/clean.sh
blob: 68769e6d9645686d64fd2185a5c5c605b30e6cfa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
#!/bin/sh
set -eu

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; }' \
| xargs -0 rm -r