Exclude Directories in Bash Find

I have a directory tree with lots of nested sub-directories, some of which are named .svn, containing sensitive, internal Subversion mojo. I need to change the permissions and/or ownership on the everything in the directory tree, but am hesitant to use the shotgun approach because almost every time you monkey with ownership of the hidden .svn stuff you risk unleashing armageddon on your development process.

The better solution is to selectively update permissions on just those files that do not exist within Subversion's hidden directories. A need which I was able to put into action with the following command...

find . -type f -not -path "*svn*" -exec chmod 644 '{}' \;