monotone-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Monotone-devel] date certs on net.venge.monotone


From: Ethan Blanton
Subject: Re: [Monotone-devel] date certs on net.venge.monotone
Date: Mon, 20 Oct 2008 11:03:06 -0400
User-agent: Mutt/1.5.17+20080114 (2008-01-14)

Bruce Stephens spake unto us the following wisdom:
> Markus Wanner <address@hidden> writes:
> > What surprised me about the pidgin repository is, that there are some
> > date certs with six digits (!) for milliseconds in the date, i.e.:
> >  "2006-11-01T21:39:36.807940"
> 
> IIRC Tailor did that at one point, so likely that's a result of
> converting from whatever they used before (subversion?).

That is correct.  It actually caused problems for us at some point,
when something related to monotone started rejecting those fractional
second values.  The oldest revisions in that Pidgin data started out
as CVS, were migrated to SVN, and then subsequently migrated to
Monotone.  There's plenty of weird and wonderful-ness in there.  ;-)

Which brings me to a (yet another) reason that I don't think this
mucking about with date certs is a good idea -- there are almost
certainly *correct* date certs in the Pidgin repository which are out
of order.  During our migration, there were a number of revisions
which, for one reason or another, had problems which made them
difficult to migrate (svn is capable of creating revisions under
normal circumstances which it cannot subsequently handle gracefully).
There are sequences of such revisions which were collapsed to one
"patch-up" revision in the migration; the date stamp on the patch-up
revision is the date of its creation, not the date of the original
changes.  This causes one date in the middle of a sequence of valid
revisions to be months or even years newer than its ancestors or
descendants.

Generally speaking, date information in monotone is very much
meta-information.  Introducing the idea of global clocks in this
manner takes it from being meta-information to being revision
information.  I think this is a bad idea.  If I've had a patch sitting
on my disk for 2 months, and I just now get around to committing it,
it may be a reasonable and correct thing for me to want to do to use a
--date argument to the commit of the creation of the patch, not the
commit of the patch.

I guess, basically, I'm not a fan of validating anything for
consistency which does not have a clear definition of consistency.  In
the absence of global clocks, dates do not have consistency.  The fact
that monotone currently recognizes and ignores this information is a
feature, not a bug.

Ethan

-- 
The laws that forbid the carrying of arms are laws [that have no remedy
for evils].  They disarm only those who are neither inclined nor
determined to commit crimes.
                -- Cesare Beccaria, "On Crimes and Punishments", 1764

Attachment: signature.asc
Description: Digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]