[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: timestamp preservation design (issue 1256)

From: Ben Collins-Sussman <sussman_at_collab.net>
Date: 2003-06-24 16:46:32 CEST

Robert Pluim <rpluim@bigfoot.com> writes:

> Justin Erenkrantz writes:
> >
> > More precisely, if the file does not exist in the WC, it gets
> > last-commit-time, if it is patched, it gets current-time. This has
> > the advantage of playing nice with make(1). Any solution which
> > opens a hole for make figuring out whether a file has changed gets
> > scorn from me. -- justin
>
> What happens if I build at say rev X, update to rev A < X where a file
> does not exist, then update to rev B < X where that file does exist?
> If that file gets last-commit-time, make will not rebuild, even though
> it should, which will cause whoever implemented it that way to be
> tarred and feathered ;-)

I think I'm starting to agree with Justin, and Karl is too.

I mean, at first, CVS's behavior sounds completely absurd. And yes,
Robert points out that there *are* ways to confuse 'make' by updating
to-and-fro in time, making files vanish and reappear. But then again,
that's not a very common behavior either; 'make clean && make' will
always rescue you from those situations.

Instead, it seems that CVS timestamps work correctly 90% of the time,
for the two Really Big use-cases:

  * developers: 90% of the time they just keep updating to HEAD, and
    rebuilding. Thus updated files get 'now' time, and 'make' does
    what they want.

  * release managers: 90% of the time they do a fresh checkout (or
    export) of an entire tag. Commit-time timestamps provide them
    very easy, very useful metadata about their tree.

So for these reasons, I think {Ben, Karl, Justin} are of the opinion
that if we have a timestamp feature at all, the CVS behavior is
probably the least evil of all options, and most useful.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Tue Jun 24 18:49:03 2003

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.