Re: jk/tag-contains (Re: What's cooking in git.git (Jul 2010, #05; Wed, 28))
From: Junio C Hamano <hidden>
Date: 2016-06-15 22:49:13
Jeff King [off-list ref] writes:
On Sat, Jul 31, 2010 at 01:07:03AM -0500, Jonathan Nieder wrote:quoted
quoted
The third one is where we start defaulting things to "assume no more than 1 day of clock skew by default", which can cause incorrect answers in the face of skew.I think the default should be something that (just barely) works correctly for linux-2.6.git.I am tempted by that (and it is why I made the fourth patch to actually calculate the worst skew). But my concern is that there are projects with even worse skew. Maybe that is unfounded.quoted
quoted
The fourth is just an illustrative patch for per-repo skew detection.I have been hoping for a chance to look these over, time hasn’t come my way yet.
Sorry, but I am right in the middle of phisically moving, so my weekend and evening git time has been nil recently.
It just a git-skew program to calculate the skew, but doesn't do anything fancy like detect-on-gc. However, it would be nice to have somebody sanity check the algorithm. Looking at it again, I think it might actually miss some skew if the skewed commit can be reached in multiple ways.quoted
Additional things to do (this is mostly a note to myself): - refuse to commit with a timestamp long before any parentAgreed.
You need to be careful here, though. What if you pulled from somebody whose clock is set grossly in the future?
quoted
- check slop and warn about it in fsck (maybe your patch does this already)No, it doesn't, but it is something we should probably do.
I wonder if we can make fsck to notice a commit with a wrong timestamp (i.e. older than some of its parents) and make a note of it (hopefully they are miniscule minority)---then during the revision traversal when we hit such a commit, we perhaps ignore its timestamp (pretending as if its timestamp is one of its children or parent---I haven't thought about the details, but the note fsck leaves can record what adjusted timestamp should be used) to fix the issue?