Login | Register
My pages Projects Community openCollabNet

Differences between the svn client and FSVS

Please note that FSVS is not a source versioning system per se.
It might work for you; but it still misses a lot of functionality, like merging, handling conflicts, and the restoration of the modification time stamps would confuse your make.

In which ways is FSVS better than subversion?

  • FSVS keeps the modification timestamp, the owner, group and access mode of your files in the repository, and restores them on update/export.
  • svn is restricted to files, directories, and symlinks; FSVS does device nodes too.
  • The svn client needs the .svn-directories, with the full-text of your text-base in them; that means 4 times the inodes, and more than 2 times the space needed in your filesystem.
Because of these FSVS is faster (at least IMO, I didn't benchmark it against svn); at least on cold caches it's even faster than a find, because it has the entries sorted by inode in its datafile, and so can drive the disk in a nearly linear fashion, whereas svn fetches information for many more files (which pollute the file and inode cache) in non-ascending order, and even find only sorts the inodes within a single directory.

Why is that not included in subversion?

There is some resistance in svn against including full-meta-data versioning; the arguments are code bloat and maintenance.