Torsten Bögershausen <tbo...@web.de> writes:

> core.filemode is set automatically when a repo is created.
> But when a repo is exported via CIFS or cygwin is mixed with Git for Windows
> core.filemode may better be set manually to false.
> Update and improve the documentation.
>
> Helped-by: Junio C Hamano <gits...@pobox.com>
> Signed-off-by: Torsten Bögershausen <tbo...@web.de>
> ---
>
> Does this reflect the discussion via email ?
> Or is more tweaking needed ?
>
>
>  Documentation/config.txt | 19 +++++++++++++++++--
>  1 file changed, 17 insertions(+), 2 deletions(-)
>
> diff --git a/Documentation/config.txt b/Documentation/config.txt
> index 4333636..b4fea43 100644
> --- a/Documentation/config.txt
> +++ b/Documentation/config.txt
> @@ -204,8 +204,23 @@ advice.*::
>  --
>  
>  core.fileMode::
> -     If false, the executable bit differences between the index and
> -     the working tree are ignored; useful on broken filesystems like FAT.
> +     Tells Git if the executable bit of files in the working tree
> +     is to be honored.
> +
> +     Some filesystems lose the executable bit when a file that is
> +     marked as executable is checked out, or checks out an
> +     non-executable file with executable bit on.  "git init" and
> +     "git clone" probe the filesystem to see if it records
> +     executable bit correctly when they create a new repository
> +     and this variable is automatically set as necessary.
> +
> +     A repository, however, may be on a filesystem that records
> +     the filemode correctly, and this variable is set to 'true'
> +     when created, but later may be made accessible from another
> +     environment that loses the filemode (e.g. exporting ext4 via
> +     CIFS mount, visiting a Cygwin managed repository with
> +     MsysGit).  In such a case, it may be necessary to set this
> +     variable to 'false'.
>       See linkgit:git-update-index[1].
>  +
>  The default is true, except linkgit:git-clone[1] or linkgit:git-init[1]

I suspect that the above will not format very well.  Hint: what is
the lone "+" line before "The default is true..." doing there?

Aside from "Is MsysGit the old name for Git for Windows"? raised by
others, I think it may be worthwhile to mention Eclipse, as that is
where the original (by the way, it would have been nice if you left
some pointer to the original discussion when saying "the discussion
via email"---it took me a while to recall what you are talking
about) from Hilco Wijbenga was about ([$gmane/257689]).  So, perhaps
s/with MsysGit/with Eclipse or Git for Windows/; or something.

Other than that, I do not see anything wrong in there.  Thanks.

As a separate topic, however, we may want to start thinking about
adding a cheat-sheet on platform-specific bits to our documentation.

The alphabetical listing of configuration variables we see here is a
very good way for people to go from variable names to what they do
(e.g. find a variable defined in configuration file of a neighbour
or be instructed to set a variable by project lead and want to learn
why setting the variable to the value is a good idea), but not a
good way to go in the other direction (e.g. have trouble running Git
on a filesystem that mangles filenames and want to find out if there
already is a way to work it around).

The cheat-sheet could be just a list of configuration and
environment variables e.g. "Those on Windows may want to check into
these settings".


[Reference]

$gmane/257689:

    http://thread.gmane.org/gmane.comp.version-control.git/257558/focus=257689

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to