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

Re: subversion-1.8.0-rc2: diff_test 60 fails

From: Philip Martin <philip.martin_at_wandisco.com>
Date: Tue, 28 May 2013 11:54:00 +0100

Tobias Bading <tbading_at_web.de> writes:

> On 27.05.2013 16:12, Tobias Bading wrote:
>> On 27.05.2013 16:01, Branko ─îibej wrote:
>>> Can you try this: run the following command for a couple of seconds, it
>>> should give you an idea about the system clock precision.
>>>
>>> { while true; do date '+%M:%S.%N'; done; } | uniq
>>
>> Redirected to a file, I get about 1250 unique timestamps per second, nicely distributed it seems.
>
> Hmm... a modified version of your command paints a completely different picture:
>
> { while true; do touch t; ls -l --full-time t; done; } | uniq
>
> prints exactly *two* lines per second, one every 0.5 second, exact down to the millisecond.
> No idea why yet, but this explaines everything I guess. Asking Google...

An earlier mail showed us that you are using ext4 on OSX -- does OSX
have native support for ext4 now or are you using a 3rd party driver?

Subversion assumes that a sub-second timestamp implies at least a
millisecond resolution but that is not the case on your ext4 filesystem.
We would need to modify the sleep algorithm if we are to support this
filesystem.

We could modify the sleep calculation to something like:

   if timestamp has sub 1ms component
     sleep for 1ms
   else if timestamp has sub 10ms component
     sleep for 10ms
   else if timestamp has sub 100ms component
     sleep for 100ms
   else
     sleep for 1s

or perhaps do it in base 2 rather than base 10?

-- 
Certified & Supported Apache Subversion Downloads:
http://www.wandisco.com/subversion/download
Received on 2013-05-28 12:54:39 CEST

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

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