Subject: Re: [PATCH v3] doc: core.ignoreStat update, and clarify the --assume-unchanged effect

From: Junio C Hamano <[email-masked]>
Date: Wed, 07 Jan 2015 10:09:38 -0800

Philip Oakley <[email-masked]> writes:

> The assume-unchanged bit, and consequently core.ignoreStat, can be
> misunderstood. Be assertive about the expectation that file changes should
> notified to Git.
>
> Overhaul the general wording thus:
>     1. direct description of what is ignored given first.
>     2. example instruction of the user manual action required.
>     3. use sideways indirection for assume-unchanged and update-index
>        references.
>     4. add a 'normally' to give leeway for the change detection.
>
> Signed-off-by: Philip Oakley <[email-masked]>
> ---
>
> This is the corrected patch which now applies on top of next and has been
> checked on AsciiDoc. (was $gmane/261974/focus=262022)
>
> I have included the previous 'after three-dashes' comment and included
> them in the commit message. I'm happy for it to be tweaked as appropriate.

Thanks.

> diff --git a/Documentation/config.txt b/Documentation/config.txt
> index 52eeadd..fe179d0 100644
> --- a/Documentation/config.txt
> +++ b/Documentation/config.txt
> @@ -375,15 +375,18 @@ This is useful for excluding servers inside a firewall from
>  proxy use, while defaulting to a common proxy for external domains.
>  
>  core.ignoreStat::
> +	If true, Git will avoid using lstat() calls to detect if files have
> +	changed. Git will set the "assume-unchanged" bit for those tracked files
> +	which it has updated identically in both the index and working tree.

I wonder if this is better stated in two seemingly independent
sentences (like your version), or "... if files have changed by
setting the assume-unchanged bit ...." to clarify where the setting
of the bits to these files come into the big picture, but it is
minor.  Either way, I think it is a lot easier to understand than
what we have in 'master'.

> ++
> +When files are modified outside of Git, the user will need to stage
> +the modified files explicitly (e.g. see 'Examples' section in
> +linkgit:git-update-index[1]).
> +Git will not normally detect changes to those files.
> ++
> +This is useful on systems where lstat() calls are very slow, such as
> +CIFS/Microsoft Windows.
> +False by default.

I think you are trying to make the result more readable by using
separate paragraphs for separate conceptual points, but then isn't
it wrong to have "False by default" as part of stating which
platforms are intended targets?  I wonder if we want to have that
last line as its own paragraph instead.

Thanks.

>  
>  core.preferSymlinkRefs::
>  	Instead of the default "symref" format for HEAD