The best way to do this is to use git svn as a Subversion client. This provides two-way integration between a Subversion repository and a Git repository. Once you have a Git repository, you can push that anywhere else to publish it.
I do this regularly, at work there is a Subversion repository that is the “master” repository, and I usually use git svn to access it. Sometimes if I’m doing things that need more specific Subversion functionality like merging, I’ll use the regular svn client against the repository instead.