Come segue:
find . -path '*/.svn*' -prune -o -print
Oppure, in alternativa, basato su una directory e non su un prefisso di percorso:
find . -name .svn -a -type d -prune -o -print
perché non solo
find . -not -iwholename '*.svn*'
Il predicato -not nega tutto ciò che ha .svn ovunque nel percorso.
Quindi nel tuo caso lo sarebbe
find -not -iwholename '*.svn*' -name 'messages.*' -exec grep -Iw uint {} + \;