De la siguiente manera:
find . -path '*/.svn*' -prune -o -print
O, alternativamente, basado en un directorio y no en un prefijo de ruta:
find . -name .svn -a -type d -prune -o -print
por qué no solo
find . -not -iwholename '*.svn*'
El predicado -not niega todo lo que tiene .svn en cualquier parte de la ruta.
Así que en tu caso sería
find -not -iwholename '*.svn*' -name 'messages.*' -exec grep -Iw uint {} + \;