dirs=`find . -type d | fgrep -v .svn | fgrep -v ./documentation`
removeddirs=""
for dir in $dirs; do 
   dir=${dir/.\//}
   if test -f $dir/Makefile || test -f $dir/Makefile.in; then
	echo "$dir contains files that should have been removed by svn-clean"
	exit 1
   fi
   files=`cd $dir && ls -1`
   other=0
   for file in $files; do
	case $file in
		.svn)
			;;
		*) other=1;
			;;
	esac
   done
   if test "$other" -eq 0; then
	echo removing $dir
	svn remove $dir
	removeddirs="$removeddirs $dir"
   fi
done

if test -n "$removeddirs"; then
  svn commit $removeddirs
  svn update $removeddirs
fi

dirs=`find */messages -type d | grep -v templates/messages | grep -v others | grep -v kdeextra | grep -v www.kde.org | fgrep -v .svn`
xdirs=`find xx/messages -type d | fgrep -v .svn`
ddirs=`find */docs -type d | grep -v templates | fgrep -v .svn`
for dir in $dirs $xdirs $ddirs; do
   if echo $removeddirs | grep -q " $dir "; then
	continue
   fi
   added=0
   svn pg svn:ignore $dir | grep -v '^ *$' > ignore.$$
   if test -f $dir/index.docbook && ! grep -q index.cache.bz2 ignore.$$ ; then
	echo index.cache.bz2 >> ignore.$$
	added=1
   fi
   if ! test -f $dir/Makefile.am && ! grep -q Makefile.am ignore.$$ ; then
        echo Makefile.am >> ignore.$$
        added=1
   fi

   for file in Makefile Makefile.in; do
	if ! grep -q $file ignore.$$; then
		echo $file >> ignore.$$
		added=1
	fi
   done

   case $dir in
	*/messages/docs/*)
		;;
	*/messages/*)
	        if ! grep -q "*.gmo" ignore.$$; then
                     echo "*.gmo" >> ignore.$$
                     added=1
                fi	
		;;
   esac
   if test "$added" = 1; then
	svn ps svn:ignore -F ignore.$$ $dir
   fi
   rm -f ignore.$$
done


list=`ls -1 */messages/others/Makefile.am */messages/extragear*/Makefile.am */messages/www.kde.org/Makefile.am 2>/dev/null`
for i in $list; do
   if echo $i | grep -q xx/; then
	continue
   fi
   svn remove $i
done
