[EMAIL PROTECTED] wrote:
>
> Just some random ideas on this topic...
Your random data is good food for thought. Thank you.
> How about using more than one checksum per file?
> I mean, you may say that each block of one megabyte
> of a file has its own checksum
I had thought of that too, but decided against it.
(BTW I'm not sure that CVS is really suited to storing big
files like that, especially on the server side).
A checksum fail on a block will tell you the file has changed.
A checksum pass on a block tells you only that you need to read
at least the next block (and so on) in order to determine that
the file has NOT changed.
As an "out of the air" figure, it might be usual to have (say)
1% of a large repository of source modified at any one
time. (This would be 5,000 lines out of 500,000). Any
larger than that and you are stepping too far away from either
the main branch or your own branch.
This means that the case where the first block of a checksum
failing will only help you in one percent of cases. And in all
the rest you have to compare the whole file anyway.
So I think it's a lot of extra complexity, to save you a moment
of time in 1% of cases.
It could certainly be done, but I don't know whether it's worth
the effort. My first patch will checksum the whole file.
> one other nice thing with this trick is that it may be used to
> transfer only the
> changed blocks of a file...
> this is a matter of concern for big binary files...
> maybe take a look at how rsync works?
I don't know if CVS really is very good at binary files.
> (I must admit I don't know if cvs uses clever algorithms to transfert only
> changed parts of files during commits/updates on low BW links or big files)
CVS is dumb in every situation - it sends the whole file.
> vvvvvvvvvvvvvvvv sorry for this garbage vvvvvvvvvvvvvvvvvvv
I could say that about everything I write!! :-)
Regards,
Mitch.
--
| mailto:[EMAIL PROTECTED] | Not the official view of: |
| mailto:[EMAIL PROTECTED] | Australian Calculator Opn |
| Certified Linux Evangelist! | Hewlett Packard Australia |