Hello Benjamin!

On Wednesday 11 February 2009 Benjamin Mucci wrote:
> Do you think it could be possible to add the following feature to FSVS:
...
> So, the more recent revision would give access to the last version of
> all files ever committed (if commit-archive was always used obviously)
> no matter if the file was present in the working copy or not when the
> more recent commit was done. "commit-archive" would in fact prevent any
> file to be marked as "deleted" at the repository level.
Certainly, everything is possible.
I first thought about simply doing a "fsvs:no-repos-remove" property on the 
directory, but then I got to the conclusion that you probably don't want 
that.

Simply for the reason that the directory grows unmaintainable large in the 
repository, so that 
- The directory content alone would be a lot of (repeated) data in new
  revisions,
- and every operation in that (actively used!) directory would have to look
  at every single entry.

AFAIK the directory lists in the repository are not sorted in any way, so 
there's O(n) overhead looking for a single file.

How about a post-commit trigger that copies the new files (or the deleted ones 
from the previous revision) in some other directory hierarchy, which is 
partitioned by year/month or something like that?


There's nothing from the FSVS side that would make major problems; it would 
just ignore locally missing files, and remove them from its entry list 
without reporting the deletion to the repository.
I fear that the repository won't really scale with some hundred or thousand 
files. If you test that and tell that it's no problem, just send a patch.


Regards,

Phil


-- 
Versioning your /etc, /home or even your whole installation?
             Try fsvs (fsvs.tigris.org)!

Reply via email to