Monday, September 10, 2007

Subversion fun

I'm trying to bring in source code control on a lot of existing code. Just for fun I right click on a directory and choose "create repository here..." (I'm using TortoiseSVN). I get a choice:
Native filesystem or Berkeley database
So I click help. On the help page is the warning:
Warning

Do not create or access a Berkeley DB repository on a network share. It cannot exist on a remote filesystem. Not even if you have the network drive mapped to a drive letter. If you attempt to use Berkeley DB on a network share, the results are unpredictable - you may see mysterious errors right away, or it may be months before you discover that your repository database is subtly corrupted.


I'm glad I clicked help rather than guessing the right thing to do, as this directory is on a network share. Why couldn't subversion just see that it's a shared directory and not give me the choice?

2 comments:

  1. You have the choice because you could create the repository on a network share, but then serve it via apache or svnserve.

    I do that myself: the drive of the server where the repositories are located is accessible via network share, and whenever a new repository needs to be created I simply create it on the network share.
    Then the server can serve it from there without any problems.

    ReplyDelete
  2. Thanks for that. It sounds like the helpfile could be a bit clearer.

    ReplyDelete