<p>We are in the process of moving our SVN repositories from one machine to another one, and with it will come a new domain name for the new repo.  The problem is, that within the repository, there are lots of svn:externals references to other projects within the repository.  So for example, we have projectA, which has in the svn:externals properties:</p>

<pre><code>external/libraryA svn://oldserver.net/repo/libraryA
external/libraryB svn://oldserver.net/repo/libraryB
</code></pre>

<p>...and so on.  All of the URL's reference this particular domain name, so it can be easily parsed.  Having already learned my lesson, I will migrate these URLs to be "svn://localhost/", but I need to find a way to go through the repository history and rewrite all of the old URLs, so that we can still check out older revisions of these projects without having broken links.</p>

<p>How would I go about doing this?</p>

You could:
a) check out the old revision, and change your hosts-file to point the old name to the new address, then svn update. In case the URL-path also changed... well then you might as well:
b) take the time to write a script that find the properties in the current (old revision-) working copy and changes the URLs there, without committing them. OR:
c) make a note of the revision(-s) where you checked in the new property values, check out the old version, and simply do a merge those revisions (-that only affect the properties) into your working copy.
d) or, possibly, use svndump to dump the repository data, string-replace the URL in the dump, then restore it.. I would not give you any guarantee that that even works ;-)