]> gitweb.fluxo.info Git - simplepkg.git/commitdiff
better svn_remove_empty_folders algorithm
authorrhatto <rhatto@04377dda-e619-0410-9926-eae83683ac58>
Fri, 28 Nov 2008 13:15:37 +0000 (13:15 +0000)
committerrhatto <rhatto@04377dda-e619-0410-9926-eae83683ac58>
Fri, 28 Nov 2008 13:15:37 +0000 (13:15 +0000)
git-svn-id: svn+slack://slack.fluxo.info/var/svn/simplepkg@591 04377dda-e619-0410-9926-eae83683ac58

trunk/lib/common.sh

index e755bd1754bb532a097b428138994ee82b7b4d84..0d8738e167cfc0df118effe58cccb7231e4453f3 100644 (file)
@@ -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
 
 }