svn: Expected FS format '2'; found format '3'

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • pbmods
    Recognized Expert Expert
    • Apr 2007
    • 5821

    svn: Expected FS format '2'; found format '3'

    I maintain a couple of web servers, and they synchronize changes via SVN with the development server.

    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:
    Code:
    > 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
    This morning I noticed a rather cryptic (and consistent) error when trying to check out new repositories:

    Code:
    > 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'
    I did some research, and I think this is the explanation:

    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:

    Code:
    > cd /path/to/svn/repos
    > mv domain.com domain.com.old
    > svnadmin create [b]--pre-1.5-compatible[/b] 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
    Note the --pre-1.5-compatible in the svnadmin create command above. Pre-1.5 compatible. As in compatible with 1.4. Because the server running SVN 1.5.2 can't seem to cope.

    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.
  • michaelsmale
    New Member
    • Dec 2009
    • 1

    #2
    Format 4

    Thank you for the very useful post. I was able to import my old versopm repositories in to the new version. Haven't created a new repository yet, am using TortoiseSVN. Did you ever manage to work out what was stopping it?

    Comment

    Working...