After moving an SVN repository to another server, a strange problem surfaced when trying to relocate one of the servers.
[root@whatever wwwroot]# svn sw --relocate https://18.104.22.168/repos https://svn.newhost.fi/repos
svn: PROPFIND request failed on '/repos/importantproject'
svn: PROPFIND of '/repos/importantproject': 301 Moved Permanently (https://svn.newhost.fi)
This is a common problem with misconfigured servers, but what made this case special is the fact that relocating the very same repository on other hosts worked perfectly.
Nothing was output to the error_log, so I decided to check the access_log. Here’s what it looked like:
22.214.171.124 - - [21/Sep/2011:13:41:19 +0300] "PROPFIND /repos/importantproject HTTP/1.1" 401 487 "-" "SVN/1.4.2 (r22196) neon/0.25.5"
126.96.36.199 - myusername [21/Sep/2011:13:41:19 +0300] "PROPFIND /repos/importantproject HTTP/1.1" 301 339 "-" "SVN/1.4.2 (r22196) neon/0.25.5"
The key here is the version number. For some reason older subversion clients may try to access the repository at a too shallow level (1.6.6 will do PROPFIND /repos/importantproject/site/trunk). The server responds with a redirect that the client can’t or won’t follow. After upgrading the client to 1.6 the relocation worked like a charm.
If you encounter problems like this, check out the version of your subversion client and upgrade if possible.