Merge branch 'jc/conf-var-doc' into maint
authorJunio C Hamano <gitster@pobox.com>
Thu, 5 Mar 2015 21:13:05 +0000 (13:13 -0800)
committerJunio C Hamano <gitster@pobox.com>
Thu, 5 Mar 2015 21:13:05 +0000 (13:13 -0800)
Longstanding configuration variable naming rules has been added to
the documentation.

* jc/conf-var-doc:
CodingGuidelines: describe naming rules for configuration variables
config.txt: mark deprecated variables more prominently
config.txt: clarify that add.ignore-errors is deprecated

1  2 
Documentation/config.txt
diff --combined Documentation/config.txt
index 04e2a71687922bbf78a493df6ca6dc5730359eb1,8a76d1dc2af13f364f03b6c582a4d94e419f33f0..b22a7a7ff52f124dce2e2cb16040bffaeee391cb
@@@ -204,26 -204,13 +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
@@@ -375,19 -362,14 +375,19 @@@ This is useful for excluding servers in
  proxy use, while defaulting to a common proxy for external domains.
  
  core.ignoreStat::
 -      If true, commands which modify both the working tree and the index
 -      will mark the updated paths with the "assume unchanged" bit in the
 -      index. These marked files are then assumed to stay unchanged in the
 -      working tree, until you mark them otherwise manually - Git will not
 -      detect the file changes by lstat() calls. This is useful on systems
 -      where those are very slow, such as Microsoft Windows.
 -      See linkgit:git-update-index[1].
 -      False by default.
 +      If true, Git will avoid using lstat() calls to detect if files have
 +      changed by setting the "assume-unchanged" bit for those tracked files
 +      which it has updated identically in both the index and working tree.
 ++
 +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.
  
  core.preferSymlinkRefs::
        Instead of the default "symref" format for HEAD
@@@ -528,8 -510,7 +528,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
@@@ -683,14 -664,13 +683,13 @@@ core.abbrev:
        for abbreviated object names to stay unique for sufficiently long
        time.
  
- add.ignore-errors::
  add.ignoreErrors::
+ add.ignore-errors (deprecated)::
        Tells 'git add' to continue adding files when some files cannot be
        added due to indexing errors. Equivalent to the '--ignore-errors'
-       option of linkgit:git-add[1].  Older versions of Git accept only
-       `add.ignore-errors`, which does not follow the usual naming
-       convention for configuration variables.  Newer versions of Git
-       honor `add.ignoreErrors` as well.
+       option of linkgit:git-add[1].  `add.ignore-errors` is deprecated,
+       as it does not follow the usual naming convention for configuration
+       variables.
  
  alias.*::
        Command aliases for the linkgit:git[1] command wrapper - e.g.
@@@ -854,13 -834,7 +853,13 @@@ accepted are `normal`, `black`, `red`, 
  `magenta`, `cyan` and `white`; the attributes are `bold`, `dim`, `ul`,
  `blink` and `reverse`.  The first color given is the foreground; the
  second is the background.  The position of the attribute, if any,
 -doesn't matter.
 +doesn't matter. Attributes may be turned off specifically by prefixing
 +them with `no` (e.g., `noreverse`, `noul`, etc).
 ++
 +Colors (foreground and background) may also be given as numbers between
 +0 and 255; these use ANSI 256-color mode (but note that not all
 +terminals may support this).  If your terminal supports it, you may also
 +specify 24-bit RGB values as hex, like `#ff0ab3`.
  
  color.diff::
        Whether to use ANSI escape sequences to add color to patches.
@@@ -907,11 -881,7 +906,11 @@@ color.grep.<slot>:
  `linenumber`;;
        line number prefix (when using `-n`)
  `match`;;
 -      matching text
 +      matching text (same as setting `matchContext` and `matchSelected`)
 +`matchContext`;;
 +      matching text in context lines
 +`matchSelected`;;
 +      matching text in selected lines
  `selected`;;
        non-matching text in selected lines
  `separator`;;
@@@ -1232,7 -1202,7 +1231,7 @@@ gc.autopacklimit:
        default value is 50.  Setting this to 0 disables it.
  
  gc.autodetach::
 -      Make `git gc --auto` return immediately andrun in background
 +      Make `git gc --auto` return immediately and run in background
        if the system supports it. Default is true.
  
  gc.packrefs::
@@@ -1379,7 -1349,7 +1378,7 @@@ gpg.program:
        same command-line interface as GPG, namely, to verify a detached
        signature, "gpg --verify $file - <$signature" is run, and the
        program is expected to signal a good signature by exiting with
 -      code 0, and to generate an ascii-armored detached signature, the
 +      code 0, and to generate an ASCII-armored detached signature, the
        standard input of "gpg -bsau $key" is fed with the contents to be
        signed, and the program is expected to send the result to its
        standard output.
@@@ -1614,7 -1584,7 +1613,7 @@@ http.useragent:
        Can be overridden by the 'GIT_HTTP_USER_AGENT' environment variable.
  
  http.<url>.*::
 -      Any of the http.* options above can be applied selectively to some urls.
 +      Any of the http.* options above can be applied selectively to some URLs.
        For a config key to match a URL, each element of the config key is
        compared to that of the URL, in the following order:
  +
@@@ -1653,8 -1623,8 +1652,8 @@@ if the URL is `https://user@example.com
  +
  All URLs are normalized before attempting any matching (the password part,
  if embedded in the URL, is always ignored for matching purposes) so that
 -equivalent urls that are simply spelled differently will match properly.
 -Environment variable settings always override any matches.  The urls that are
 +equivalent URLs that are simply spelled differently will match properly.
 +Environment variable settings always override any matches.  The URLs that are
  matched against are those given directly to Git commands.  This means any URLs
  visited as a result of a redirection do not participate in matching.
  
@@@ -1816,12 -1786,6 +1815,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.
  
@@@ -1882,11 -1846,10 +1881,11 @@@ pack.depth:
        maximum depth is given on the command line. Defaults to 50.
  
  pack.windowMemory::
 -      The window memory size limit used by linkgit:git-pack-objects[1]
 -      when no limit is given on the command line.  The value can be
 -      suffixed with "k", "m", or "g".  Defaults to 0, meaning no
 -      limit.
 +      The maximum size of memory that is consumed by each thread
 +      in linkgit:git-pack-objects[1] for pack window memory when
 +      no limit is given on the command line.  The value can be
 +      suffixed with "k", "m", or "g".  When left unconfigured (or
 +      set explicitly to 0), there will be no limit.
  
  pack.compression::
        An integer -1..9, indicating the compression level for objects
@@@ -1960,7 -1923,7 +1959,7 @@@ pack.useBitmaps:
        true. You should not generally need to turn this off unless
        you are debugging pack bitmaps.
  
- pack.writebitmaps::
+ pack.writebitmaps (deprecated)::
        This is a deprecated synonym for `repack.writeBitmaps`.
  
  pack.writeBitmapHashCache::
@@@ -2099,25 -2062,6 +2098,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
@@@ -2151,13 -2095,6 +2150,13 @@@ receive.denyCurrentBranch:
        print a warning of such a push to stderr, but allow the push to
        proceed. If set to false or "ignore", allow such pushes with no
        message. Defaults to "refuse".
 ++
 +Another option is "updateInstead" which will update the working
 +directory (must be clean) if pushing into the current branch. This option is
 +intended for synchronizing working directories when one side is not easily
 +accessible via interactive ssh (e.g. a live web site, hence the requirement
 +that the working directory be clean). This mode also comes in handy when
 +developing inside a VM to test and fix code on different Operating Systems.
  
  receive.denyNonFastForwards::
        If set to true, git-receive-pack will deny a ref update which is
@@@ -2297,7 -2234,7 +2296,7 @@@ sendemail.smtpencryption:
        See linkgit:git-send-email[1] for description.  Note that this
        setting is not subject to the 'identity' mechanism.
  
- sendemail.smtpssl::
+ sendemail.smtpssl (deprecated)::
        Deprecated alias for 'sendemail.smtpencryption = ssl'.
  
  sendemail.smtpsslcertpath::
@@@ -2332,12 -2269,10 +2331,12 @@@ sendemail.smtpserverport:
  sendemail.smtpserveroption::
  sendemail.smtpuser::
  sendemail.thread::
 +sendemail.transferencoding::
  sendemail.validate::
 +sendemail.xmailer::
        See linkgit:git-send-email[1] for description.
  
- sendemail.signedoffcc::
+ sendemail.signedoffcc (deprecated)::
        Deprecated alias for 'sendemail.signedoffbycc'.
  
  showbranch.default::