Python patch analog

Laura Creighton lac at strakt.com
Thu Jan 9 06:59:25 EST 2003


> Laura Creighton wrote:
> > What happens when somebody's computer has a completely wrong idea what
> > time
> > it is?  What happens when daylight savings time happens?  What happens
> > when you share data between users in different time zones? different
> > time zones with different rules for what day we start daylight savings?
> 
> Yeah, I thought of that, but -- the repository object keeps its own time. 
> You just keep track of checkouts and user ids on the server.  I can just 
> encode the checkout time as part of the checkout protocol, so that it stays 
> with the "local copy" that the user receives (as with CVS, we'll need to 
> store some metadata along with the client's "local copy" -- we just keep 
> the checkout identity with this metadata).

That is what we ended up having to do.  And when the server hit DST,
all hell broke loose.  Also, when somebody carefully rebooted the
server to think that it was now the Unix Epoch (Jan 1 1970 00:00:01).
Also when somebody made the date 10 years in the future.

On a more aggrevating note, times on things served by NFS servers
drift a lot.  We have problems with this around here sometimes --
make gets confused -- and periodically SSH certificate validation
goes out the window because somebody is trying to log in 'in the
future'.

> There's another class of events that has to be tracked, which is moderation 
> actions. There's actually more than one kind of checkout that can happen at 
> a given time (sort of like "branches" in CVS?), in that the changes can be 
> made with some pre-existing patches ignored.  In that case, the type of 
> checkout made needs to be in the metadata.  In short -- we need enough 
> information for the repository to reconstruct what the user would've 
> checked out.

I believe, this is known as 'a tricky bit'.  The people who are making
an Open Source python rewriting of Arch may have some ideas you are
interested in.
> 
> Cheers,
> Terry

Laura Creighton






More information about the Python-list mailing list