次のように:
find . -path '*/.svn*' -prune -o -print
または、代わりにパスプレフィックスではなくディレクトリに基づいて:
find . -name .svn -a -type d -prune -o -print
だけではない理由
find . -not -iwholename '*.svn*'
-not 述語は、パス内の任意の場所に .svn を持つすべてのものを否定します。
あなたの場合は
find -not -iwholename '*.svn*' -name 'messages.*' -exec grep -Iw uint {} + \;