[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Expected FS format '2'; found format '4' error

From: Ryan Schmidt <subversion-2009d_at_ryandesign.com>
Date: Thu, 26 Nov 2009 20:09:18 -0600

On Nov 26, 2009, at 07:22, Stuart Reeves wrote:

> I'm running svn on two Macs (toga, the client machine and float, the
> server are running OS X and OS X Server respectively). The server's
> repository has been working fine for a long time. I access the repo via
> ssh (i.e., the svn+ssh method). Then something happened and I get the
> following message when performing vital svn operations (e.g., up, ci,
> etc.):
>
> [stuartn_at_toga:~/doc]$ svn up
> Password:
> svn: Expected FS format '2'; found format '4'
>
> Both the server and the client have their svn package compiled from the
> latest version available on macports, i.e.,
>
> [stuartn_at_toga:~/doc]$ svn --version
> svn, version 1.6.5 (r38866)
> compiled Nov 17 2009, 18:14:25
>
> I have hunted around the web for a solution, but it seems like the
> recommendation everywhere is to ensure that my svnadmin and svn commands
> are all the right version. Unfortunately, both on the client and the
> server have identical versions of svn, svnadmin and all the other tools.
>
> As far as I can tell, svnserve is running ok on the server:
>
> [stuart_at_float:/Shared]$ pstree | grep svnserve
> |--= 00114 root /opt/local/bin/svnserve --daemon --root /usr/local/svn

Because you are using svn+ssh, svnserve will be automatically started for each connection and closed afterward. Any svnserve daemon you've manually started will not be used for anything.

> I even checked the format of the repo to make sure I hadn't done anything
> stupid (like created the repo with an older version of svn that was
> already on OS X):
>
> [stuart_at_float:/Shared]$ cat svn/format
> 5

Wrong format file: the one it's talking about is in svn/db/format, which should confirm that the db format is 4 as the message stated.

> As someone noted on a forum, there are indeed two copies of svn on the
> server, however the macports build is being pointed at for everything:
>
> [stuart_at_float:~]$ which svnserve
> /opt/local/bin/svnserve
> [stuart_at_float:~]$ which svnadmin
> /opt/local/bin/svnadmin
> [stuart_at_float:~]$ which svn
> /opt/local/bin/svn
>
> I have tried removing subversion from both the server and the client to
> use the version of svn found on OS X in /usr/bin (including restarting
> svnserve on the server to ensure it points at /usr/bin/svnserve). This
> produces the same result (i.e., the error).

As Kevin said, when you're connecting via svn+ssh, the PATH doesn't contain /opt/local/bin, therefore it's using the svnserve in /usr/bin, which is too old to understand a version-4 repository database.

To set up your modified PATH so that it is used by noninteractive shells, such as the one started by the svn+ssh connection, I believe you need to set it in the ~/.bashrc of whatever user you're connecting to the server as. The MacPorts installer sets the PATH in your ~/.profile or ~/.bash_profile, but those aren't used by noninteractive shells.

------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=1065&dsMessageId=2424731

Please start new threads on the <users_at_subversion.apache.org> mailing list.
To subscribe to the new list, send an empty e-mail to <users-subscribe_at_subversion.apache.org>.
Received on 2009-11-27 03:10:06 CET

This is an archived mail posted to the Subversion Users mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.