Login | Register
My pages Projects Community openCollabNet

Discussions > users > Re: AW: FSVS 1.0.5 released

fsvs
Discussion topic

Back to topic list

Re: AW: FSVS 1.0.5 released

Author pmarek
Full name P.Marek
Date 2006-03-13 08:57:17 PST
Message On Monday 13 March 2006 13:43 Markus Karg wrote:
> I didn't actually get what your tool is good for (I understand what it
> aims, but I do not understand the benefit it brings compared to just
> keeping my whole disk mirrored in a SVN repository). Can you explain what
> the benefit is?
It does mirror the disk in a SVN repository.
But not via the svn command line utility (which I believe you use), but via
the fsvs program, which is another client which can be used against a
subversion repository.
(Hooray for the pluggable subversion structure :-)


The differences between the svn client and fsvs are:
- 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 4x the inodes, and >2x the space needed
  in your filesystem.
  Because of that is FSVS faster (at least IMO, I didn't benchmark it
  against svn); it's sometimes faster than a find, because it has the nodes
  sorted by inode in it's datafile, and so can drive the disk in a nearly
  linear fashion, whereas svn fetches information for *many* files, which
  pollute the file and inode cache, ...
- There is some resistance in svn against including full-meta-data versioning;
  the arguments are code bloat and maintenance.

As fsvs won't do many of the tasks subversion does, it has a much smaller code
size; and (IMO) is much cleaner, too.
The code that deals with setting the executable bit in subversion is
distributed (in the form of functions calls) in a lot of client commands;
there's update, checkout, export, diff, repos-diff, and so on.
In fsvs I'm careful to have a few more if-statements in the correct places,
but avoid many code duplications (see eg. - I use the same functions in
export and update. Although I have to admit that shared functions have to be
moved to a seperate file (they will)).


If nothing else, the first three points above make fsvs the clear winner in a
comparision against svn - that's why I wrote it :-)


Hope that helps!


Regards,

Phil

« Previous message in topic | 1 of 1 | Next message in topic »

Messages

Show all messages in topic

Re: AW: FSVS 1.0.5 released pmarek P.Marek 2006-03-13 08:57:17 PST
Messages per page: