> No, using timestamps relies on the assumption that the timestamp always
> changes when the file is modified -- it does *not* assume the latter
> (although it does assume that the consequences of thinking that the file
> has been modified when it hasn't are not severe).  You seem to think
> that wasting time is a more serious consequence than missing changes; I
> don't agree.
> 
> In fact, I haven't heard anyone agree except for people who are using
> broken systems where the timestamps suddenly change for no apparent
> reason.

Then let me put in my vote for this.

Yes, MD5 can make an error. It's unlikely.
Yes, although there is the ability to do 16 bytes of random data at a
time, which will guarantee a collision, the chances of it happening with
real data is pretty slim.

And yes, over slow phone lines, the overhead of transmitting each file is
big. Worse, it seems that it wants to send the data from the client to the
server to compare (that's the slow link of an ADSL, cable modem, or 56K
modem).

I don't have a broken clock. But that doesn't mean that the timestamp
won't change even if the file contents don't change. (Opps, I didn't mean
to write that buffer -- undo until I'm back where I want, then re-write
the now clean buffer, then discard the buffer so I don't change it again).
Or hitting space to wake the machine, and then hitting backspace because
it went into the editor (instead of hitting undo).

Or I'm using repository switch scripts, and the two different repositories
have different ideas of the time stamp (even if the file contents are the
same).

Or just that windows NT wants to say the file timestamp is changed.

All I know is that 'cvs -n update' shows no changes, but takes a long time
(as it compares files); 'cvs update' takes a long time the first time, to
make it think 'no changes'. Then 'cvs update' or 'cvs -n update' is fast.

This is not an occasional thing -- this is constant.

If you really want to keep the 'transmit file', how about transmitting
from server to client, instead of from client to server?

I'd like to see this as a switch. Then, I'll modify my cvs alias to be
'-z9 -q -md5', and the people developing aircraft software can keep it off
to satisfy their ISO standard requirements.

Michael


Reply via email to