diff options
Diffstat (limited to 'trunk/lib')
-rw-r--r-- | trunk/lib/common.sh | 23 |
1 files changed, 5 insertions, 18 deletions
diff --git a/trunk/lib/common.sh b/trunk/lib/common.sh index e755bd1..0d8738e 100644 --- a/trunk/lib/common.sh +++ b/trunk/lib/common.sh @@ -673,28 +673,15 @@ function chgrp_svn { function svn_remove_empty_folders { - if [ -z "$1" ]; then + if [ -z "$1" ] && [ ! -d "$1" ]; then return 1 fi - local main_folder search results - - main_folder="$1" - search="`find $main_folder -type d | grep -v '/.svn' | sed '1d'`" - results="`echo "$search" | wc -w`" # folders can't have space, slackware compliance - - if [ "$results" -eq "0" ]; then - if [ "`find $main_folder -not -type d | wc -l`" -eq "0" ]; then - svn_del $main_folder + for folder in `find $1 -type d -print | grep -v "/\.svn"`; do + if [ "`ls -A -1 $folder | grep -v .svn | wc -l`" -eq "0" ]; then + svn_del $folder fi - else - for folder in $search; do - # can be deleted already - if [ -d "$folder" ]; then - svn_remove_empty_folders $folder - fi - done - fi + done } |