As fuzzymonk mentioned, it seems the only real option is to use the perl script svn2p4. I've used this a few times and it has worked well although slowly especially with many branches.
One thing that has been very useful with this script is the ability to minimize downtime to virtually none, regardless of geographic distance between servers. This is possible because svn2p4 is fully resumable.
- First, you take a backup of your svn server
- While leaving the live server on, you start your import from svn to perforce using the backup.
- When that import has finished, you can take down your live server and finish the import by pointing svn2p4 to the live server instead of the backup.
This means you only have to take down the server for the few revisions that happened since your last backup. This is especially helpful if your migration is over large geographic distances (svn and perforce servers are far apart) because the large part of your import is done locally, possibly on the same machine, instead of over the internet.
We're in the middle of a large import at the moment (20K revisions, 18GB svn root) and I'm curious as to what kinds of problems you experienced in your initial tests.