#!/bin/bash
#
# vim:tabstop=3:expandtab:shiftwidth=3
#

svn_clean()
{
   if [ `find $1/ -name '.access^' | wc -l` -gt 0 ]
   then
      echo "# Removing .access^ files from $1"
      find $1 -name '.access^' -exec rm {} \;
   fi

   if [ `find $1/ -name '.attribute^' | wc -l` -gt 0 ]
   then
      echo "# Removing .attribute^ files from $1"
      find $1 -name '.attribute^' -exec rm {} \;
   fi
}

svn_add_no_status()
{
   svn status $1 | \
   grep '^?[[:space:]]' | egrep -v 'lock.*#$|/~[$]|/Thumbs.db'| \
   sed 's,?[[:space:]]*,,' | \
   while read File
   do
      svn add "$File"
   done
}

cd $HOME

for S in `find . -xdev -name .svn -type d 2> /dev/null | sed 's,.svn$,,'`
do
   G=`echo $S | sed -e 's,^[./]*,,' -e 's,[/]*$,,' -e 's,$,/.*,' -e 's,^,^,'`
   if grep "$G" .svn-skip &> /dev/null
   then
      echo "Skipping $S" | sed 's, [.]/, ~/,'
   else
      svn_clean $S
      svn_add_no_status $S
   fi
done

