Subject: Re: [PATCH] Makefile / racy-git.txt: clarify USE_NSEC prerequisites

From: Junio C Hamano <[email-masked]>
Date: Sun, 14 Jun 2015 17:07:05 -0700

Karsten Blees <[email-masked]> writes:

>  members are also compared, but this is not enabled by default
> -because in-core timestamps can have finer granularity than
> +because on Linux, in-core timestamps can have finer granularity than
>  on-disk timestamps, resulting in meaningless changes when an
>  inode is evicted from the inode cache.  See commit 8ce13b0
>  of git://git.kernel.org/pub/scm/linux/kernel/git/tglx/history.git
>  ([PATCH] Sync in core time granularity with filesystems,
> -2005-01-04).

Hmm, the above makes one wonder if on systems other than Linux it
may be better enabled by default.  Perhaps

	members are also compared.  On Linux, this is not enabled by
	default because ...

would make the logic and text flow better?

>  # Define USE_NSEC below if you want git to care about sub-second file mtimes
> -# and ctimes. Note that you need recent glibc (at least 2.2.4) for this, and
> -# it will BREAK YOUR LOCAL DIFFS! show-diff and anything using it will likely
> -# randomly break unless your underlying filesystem supports those sub-second
> -# times (my ext3 doesn't).
> +# and ctimes. Note that you need recent glibc (at least 2.2.4) for this. On
> +# Linux, kernel 2.6.11 or newer is required for reliable sub-second file times
> +# on file systems with exactly 1 ns or 1 s resolution. If you intend to use Git
> +# on other file systems (e.g. CEPH, CIFS, NTFS, UDF), don't enable USE_NSEC. See
> +# Documentation/technical/racy-git.txt for details.

This looks good.