On Mon, 14 Feb 2005 firstname.lastname@example.org wrote:
> David Coppit <email@example.com> writes:
>> All I'm having my developers do is check out a version from the repository
>> using Eclipse and Subclipse. (There are no commits!) After a while, one of
>> them tells me they get this error:
>> svn: Berkeley DB error while opening environment for filesystem
>> DB_RUNRECOVERY: Fatal error, run database recovery
>> Sure enough, I get the same error when I try to do a checkout from the
>> command line. svnadmin recover fails, as does svnadmin dump. Is there
>> anything else I can tell you to help?
> Version numbers of everything, 'ls -lR' of repository, user/group you
> run all commands that access the repository as, I guess.
> Are you accessing over NFS? http://, svn://, or file://?
The problem was revealed in another thread: my svn wrapper was not being
executed, so the permissions weren't being set. The developers were using
svn+ssh, and some of them set their path in their .login, which doesn't
get processed unless the shell is a login shell. As a result, they thought
they were doing the right thing, but were actually running the system
default, which wasn't protected. In the end I convinced the systems staff
to wrap the svn in /usr/bin on the repository machine--it was the only way
to be sure that the umask was set correctly.
BTW, the paragraph in the SVN book that says that this is a Unix problem
sounds like a cop-out to me. I don't see any scenario in which a DB
corruption should be allowed. Instead, the SVN config should have the user
specify the default repository group and umask. At the least it should
prevent anyone who isn't set up correctly from corrupting the repository.
David Coppit firstname.lastname@example.org
The College of William and Mary http://coppit.org/
"Government big enough to supply everything you need is big enough to take
everything you have ... The course of history shows that as a government
grows, liberty decreases." -- Thomas Jefferson
To unsubscribe, e-mail: email@example.com
For additional commands, e-mail: firstname.lastname@example.org
Received on Mon Feb 14 23:51:14 2005