Some corrections Stefan 19th October, 2006 10:38 (UTC)

I'd like to correct some statements in your article:

  • FSFS is considered to be more stable than the berkeley db. Even though FSFS is newer, it has been proved more stable than BDB.
  • you can use BDB with file:/// access just fine. It only does not work if the repository is hosted on a network share - then you can't access it with file:/// because that will corrupt the BDB. With FSFS, you can use file:/// access even if the repository is on a network share.
Some corrections Kirit Sælensminde 19th October, 2006 11:10 (UTC)

Stefan, thanks for taking the time to comment.

Stefan said

I'd like to correct some statements in your article:

  • FSFS is considered to be more stable than the berkeley db. Even though FSFS is newer, it has been proved more stable than BDB.

From what I could tell this may be open to some debate. I understand that the old problem of BDB wedging on occasion has been solved, but there is still the open question of whether or not FSFS has a problem with Apache which can corrupt the repository files.

Do you know if this been corrected in 1.4?

  • you can use BDB with file:/// access just fine. It only does not work if the repository is hosted on a network share - then you can't access it with file:/// because that will corrupt the BDB. With FSFS, you can use file:/// access even if the repository is on a network share.

You're right I wasn't being clear enough. I've added a footnote which explains what I meant properly.

K


To join in the discussion you should register or log in
Some corrections Ben Prew 19th October, 2006 21:13 (UTC)

We have a similar situation where I work in that we have several disparate sites, but we want to use the same layout. We solve this by maintaining a symlink that we check in to the repository that points to the shared directory, so when we have to update parts of the shared code, we can update them, and the disparate sites get the updates because they just contain a symlink to the shared location, as opposed to the code itself.

When you mentioned not having shared files, I realized it was because you're using Windows, which doesn't let you create symlinks and check those into svn, but its a nice way to solve that problem.

Some corrections Kirit Sælensminde 20th October, 2006 05:51 (UTC)

Thanks for the comment Ben.

Ben Prew said

We have a similar situation where I work in that we have several disparate sites, but we want to use the same layout. We solve this by maintaining a symlink that we check in to the repository that points to the shared directory, so when we have to update parts of the shared code, we can update them, and the disparate sites get the updates because they just contain a symlink to the shared location, as opposed to the code itself.

When you mentioned not having shared files, I realized it was because you're using Windows, which doesn't let you create symlinks and check those into svn, but its a nice way to solve that problem.

Do the symlinks work at the file or the directory level? If at the directory level you can get a fairly similar result using svn:external.

The nice about the SourceSafe feature was that if the share was active SourceSafe was in effect telling you that the file was meant to be the same across a number of sites. Sometimes we have to fork just one file for one web site and SourceSafe would preserve knowledge of that fork in the repository.

In Subversion we will only know that a given file is different on a web site. Knowledge about which web sites are meant to have identical versions and which are meant to have different versions must be held somewhere else so is far more likely to get lost, or be ignored.

I can see that some changes needed for some web sites stand a chance of getting overwritten and some changes won't be propogated properly. More complex procedures around file updates will go some way towards mitigating the problems, but there is a fairly simple technical fix — at least from our point of view as Subversion users, even though I'm sure the Subversion code to handle it will be anything but simple.


To join in the discussion you should register or log in