#!/bin/sh -e
# Remove recursively safely
case "$1" in ([0-9]) depth=$1; shift;; esac
for f in "${@:-$PWD}"
do
	test -w "$(dirname "$f")" && elevate="" || elevate=sudo
	if test -d "$f"
	then
		if test -e "$f/.git" || test -e "$f/packed-refs"
		then echo -n "Force delete git project $f? "
			read answer
			test "$answer" = "y" &&
				$elevate rm -rf "$f" &&
				continue
		fi

		$elevate find -H "$f" -maxdepth $(expr 1 \& "$f" = "/" \| 5 \& $# \> 0 \| 4) -type d -empty -name .stfolder -exec rm -div {} \;
		$elevate find -H "$f" -maxdepth $(expr 1 \& "$f" = "/" \| 5 \& $# \> 0 \| 3) -not -name .stfolder \( -type d -o -type f \) -a -empty -printf 'Removing empty %p\n' -delete
		test $# -eq 0 && exit $?
		if test -e "$f"; then
			echo -n "$f ($(ls -A "$f" | head -3 | paste -s -d' ')) " >&2 &&
			$elevate rm -rI "$f"
		fi
	else $elevate rm -i "$f"
	fi
done
