This way, I don't end up with useless copies of the sources under the platform-specific directories.

It also makes sense to remember to say

svn up --ignore-externals

to avoid picking up the useless copies of the sources later.

Fixing externals

I generally think it's preferable for release branches to be self-contained.
This script changes the externals to point to the release branch instead of the trunk.
Run it while in the top-level directory of the working copy.