Merge branch 'tb/core-filemode-doc'
authorJunio C Hamano <gitster@pobox.com>
Fri, 24 Oct 2014 21:57:57 +0000 (14:57 -0700)
committerJunio C Hamano <gitster@pobox.com>
Fri, 24 Oct 2014 21:57:57 +0000 (14:57 -0700)
Doc update.

* tb/core-filemode-doc:
core.filemode may need manual action

1  2 
Documentation/config.txt
diff --combined Documentation/config.txt
index 400dcad21d627d7fc1dba9ec31d86f046bb49396,a45b2cfe6c50ce722d19282b135fd72261ebb912..8b49813d8080f639377e76a1f28112186be8c01a
@@@ -204,13 -204,26 +204,26 @@@ advice.*:
  --
  
  core.fileMode::
-       If false, the executable bit differences between the index and
-       the working tree are ignored; useful on broken filesystems like FAT.
-       See linkgit:git-update-index[1].
+       Tells Git if the executable bit of files in the working tree
+       is to be honored.
  +
- The default is true, except linkgit:git-clone[1] or linkgit:git-init[1]
- will probe and set core.fileMode false if appropriate when the
- repository is created.
+ 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.
+ linkgit:git-clone[1] or linkgit:git-init[1] probe the filesystem
+ to see if it handles the executable bit correctly
+ and this variable is automatically set as necessary.
+ +
+ A repository, however, may be on a filesystem that handles
+ 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 created repository with
+ Git for Windows or Eclipse).
+ In such a case it may be necessary to set this variable to 'false'.
+ See linkgit:git-update-index[1].
+ +
+ The default is true (when core.filemode is not specified in the config file).
  
  core.ignorecase::
        If true, this option enables various workarounds to enable
@@@ -499,8 -512,7 +512,8 @@@ core.bigFileThreshold:
        Files larger than this size are stored deflated, without
        attempting delta compression.  Storing large files without
        delta compression avoids excessive memory usage, at the
 -      slight expense of increased disk usage.
 +      slight expense of increased disk usage. Additionally files
 +      larger than this size are always treated as binary.
  +
  Default is 512 MiB on all platforms.  This should be reasonable
  for most projects as source code and other text files can still
@@@ -1755,15 -1767,6 +1768,15 @@@ mergetool.<tool>.trustExitCode:
        if the file has been updated, otherwise the user is prompted to
        indicate the success of the merge.
  
 +mergetool.meld.hasOutput::
 +      Older versions of `meld` do not support the `--output` option.
 +      Git will attempt to detect whether `meld` supports `--output`
 +      by inspecting the output of `meld --help`.  Configuring
 +      `mergetool.meld.hasOutput` will make Git skip these checks and
 +      use the configured value instead.  Setting `mergetool.meld.hasOutput`
 +      to `true` tells Git to unconditionally use the `--output` option,
 +      and `false` avoids using `--output`.
 +
  mergetool.keepBackup::
        After performing a merge, the original file with conflict markers
        can be saved as a file with a `.orig` extension.  If this variable
@@@ -1777,12 -1780,6 +1790,12 @@@ mergetool.keepTemporaries:
        preserved, otherwise they will be removed after the tool has
        exited. Defaults to `false`.
  
 +mergetool.writeToTemp::
 +      Git writes temporary 'BASE', 'LOCAL', and 'REMOTE' versions of
 +      conflicting files in the worktree by default.  Git will attempt
 +      to use a temporary directory for these files when set `true`.
 +      Defaults to `false`.
 +
  mergetool.prompt::
        Prompt before each invocation of the merge resolution program.
  
@@@ -2059,25 -2056,6 +2072,25 @@@ receive.autogc:
        receiving data from git-push and updating refs.  You can stop
        it by setting this variable to false.
  
 +receive.certnonceseed::
 +      By setting this variable to a string, `git receive-pack`
 +      will accept a `git push --signed` and verifies it by using
 +      a "nonce" protected by HMAC using this string as a secret
 +      key.
 +
 +receive.certnonceslop::
 +      When a `git push --signed` sent a push certificate with a
 +      "nonce" that was issued by a receive-pack serving the same
 +      repository within this many seconds, export the "nonce"
 +      found in the certificate to `GIT_PUSH_CERT_NONCE` to the
 +      hooks (instead of what the receive-pack asked the sending
 +      side to include).  This may allow writing checks in
 +      `pre-receive` and `post-receive` a bit easier.  Instead of
 +      checking `GIT_PUSH_CERT_NONCE_SLOP` environment variable
 +      that records by how many seconds the nonce is stale to
 +      decide if they want to accept the certificate, they only
 +      can check `GIT_PUSH_CERT_NONCE_STATUS` is `OK`.
 +
  receive.fsckObjects::
        If it is set to true, git-receive-pack will check all received
        objects. It will abort in the case of a malformed object or a