The development server was running SVN v1.5.4, and the production servers were running SVN v1.5.2, and everybody was happy.
Adding a new site to the production servers was an easy task:
Expand|Select|Wrap|Line Numbers
- > ssh admin@production-server
- > svn co svn+ssh://user@development-server/path/to/svn/repos/domain.com
- A domain.com/www
- A domain.com/public_html
- ... snip ...
- Checked out revision 1
Expand|Select|Wrap|Line Numbers
- > ssh admin@production-server
- > svn co svn+ssh://user@development-server/path/to/svn/repos/domain.com
- svn: Expected FS format '2'; found format '3'
When Subversion developers change the way SVN organizes files/data inside of a repository, they create a new format number. In essence, it's like a version number, except that it only applies to the way SVN repositories are laid out.
Different versions of SVN support different repository formats, with later versions supporting bigger repository formats (e.g., SVN 1.5.x can support formats 1-4, SVN 1.6.x can support format 5).
So far so good. What's weird, though, is that FS format 2 is (as far as I can tell) a SVN 1.4.x format.
Which is weird because, as mentioned above, both servers are running SVN 1.5.x.
After roughly 3 hours of troubleshooting, I finally found a workaround:
Expand|Select|Wrap|Line Numbers
- > cd /path/to/svn/repos
- > mv domain.com domain.com.old
- > svnadmin create --pre-1.5-compatible domain.com
- > svnadmin dump domain.com.old | svnadmin load domain.com
- ... SVN transfers the repository contents ...
- > ssh admin@production-server
- > svn co svn+ssh://user@development-server/path/to/svn/repos/domain.com
- A domain.com/www
- A domain.com/public_html
- ... snip ...
- Checked out revision 1
What's really confusing me is that any working copies that were already checked out on the production servers are still working. I can svn update, etc., and everything just works. I'm only running into trouble trying to check out new repositories.
I have no idea what I could possibly have done to change this, and I am now thoroughly confused.
Please point out the one thing I haven't considered that will fix everything! (:
Thanks for your time.