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.