Wie folgt:
find . -path '*/.svn*' -prune -o -print
Oder alternativ basierend auf einem Verzeichnis und nicht auf einem Pfadpräfix:
find . -name .svn -a -type d -prune -o -print
warum nicht einfach
find . -not -iwholename '*.svn*'
Das Prädikat -not negiert alles, was .svn irgendwo im Pfad hat.
In Ihrem Fall wäre es also
find -not -iwholename '*.svn*' -name 'messages.*' -exec grep -Iw uint {} + \;