Re: Re: [PATCH] git tag --contains : avoid stack overflow
- From
Johannes Schindelin <johannes.schindelin@gmx.de>
- Date
- Nov 13, 2012, 04:01 UTC
- Message-ID
- <alpine.DEB.1.00.1211130400030.13573@bonsai2>
- In-Reply-To
- <20121113034605.GB8387@sigill.intra.peff.net>
Hi Peff,
On Mon, 12 Nov 2012, Jeff King wrote:
Show 26 quoted lines
> On Tue, Nov 13, 2012 at 01:16:01AM +0000, Johannes Schindelin wrote: > > > > We can do much better than O(number of commits), though, if we stop > > > traversing down a path when its timestamp shows that it is too old to > > > contain the commits we are searching for. The problem is that the > > > timestamps cannot always be trusted, because they are generated on > > > machines with wrong clocks, or by buggy software. This could be solved > > > by calculating and caching a "generation" number, but last time it was > > > discussed there was a lot of arguing and nothing got done. > > > > Sadly, not only machines with skewed clocks, but in particular buggy > > 3rd-party SCMs make this more than just problematic. In a git-svn clone > > that was used as base for heavy Git development, I encountered quite a lot > > of Jan 1, 1970 commits. > > Yeah. We tolerate a certain amount of skew (24 hours for --name-rev, and > 5 broken commits in a row for --since). But the big ones are usually > software bugs (the big kernel ones were from broken "guilt", I think) or > broken imports (when I published a bunch of skew statistics last year, > the interesting ones were all imports; I don't know if they were > software bugs, or just garbage in, garbage out). > > > It just cannot be helped, we must distrust timestamps completely. > > Note that name-rev will produce wrong answers in the face of clock skew. > And I think that you even wrote that code. :)
IIRC the cute code to short-circuit using the date is not from me. If it is, I am very ashamed.
Ciao, Johannes
-- *** Please reply-to-all at all times *** *** (do not pretend to know who is subscribed and who is not) *** *** Please avoid top-posting. *** The msysGit Wiki is here: https://github.com/msysgit/msysgit/wiki - Github accounts are free. You received this message because you are subscribed to the Google Groups "msysGit" group. To post to this group, send email to msysgit@googlegroups.com To unsubscribe from this group, send email to msysgit+unsubscribe@googlegroups.com For more options, and view previous threads, visit this group at http://groups.google.com/group/msysgit?hl=en_US?hl=en