Merge branch 'jc/post-simplify' into tr/filter-branch
[gitweb.git] / Documentation / config.txt
index 93a6a83b95609f7362a1d2d0bc72ac20988c1d26..b8ec01c923a8bdb8614f5c5700a7fda603365e8b 100644 (file)
@@ -63,7 +63,7 @@ The values following the equals sign in variable assign are all either
 a string, an integer, or a boolean.  Boolean values may be given as yes/no,
 0/1 or true/false.  Case is not significant in boolean values, when
 converting value to the canonical form using '--bool' type specifier;
-`git-config` will ensure that the output is "true" or "false".
+'git-config' will ensure that the output is "true" or "false".
 
 String values may be entirely or partially enclosed in double quotes.
 You need to enclose variable value in double quotes if you want to
@@ -92,7 +92,7 @@ Example
 
        # Our diff algorithm
        [diff]
-               external = "/usr/local/bin/gnu-diff -u"
+               external = /usr/local/bin/diff-wrapper
                renames = true
 
        [branch "devel"]
@@ -117,9 +117,16 @@ core.fileMode::
        the working copy are ignored; useful on broken filesystems like FAT.
        See linkgit:git-update-index[1]. True by default.
 
+core.trustctime::
+       If false, the ctime differences between the index and the
+       working copy are ignored; useful when the inode change time
+       is regularly modified by something outside Git (file system
+       crawlers and some backup systems).
+       See linkgit:git-update-index[1]. True by default.
+
 core.quotepath::
-       The commands that output paths (e.g. `ls-files`,
-       `diff`), when not given the `-z` option, will quote
+       The commands that output paths (e.g. 'ls-files',
+       'diff'), when not given the `-z` option, will quote
        "unusual" characters in the pathname by enclosing the
        pathname in a double-quote pair and with backslashes the
        same way strings in C source code are quoted.  If this
@@ -356,9 +363,10 @@ core.pager::
 
 core.whitespace::
        A comma separated list of common whitespace problems to
-       notice.  `git-diff` will use `color.diff.whitespace` to
-       highlight them, and `git-apply --whitespace=error` will
-       consider them as errors:
+       notice.  'git-diff' will use `color.diff.whitespace` to
+       highlight them, and 'git-apply --whitespace=error' will
+       consider them as errors.  You can prefix `-` to disable
+       any of them (e.g. `-trailing-space`):
 +
 * `trailing-space` treats trailing whitespaces at the end of the line
   as an error (enabled by default).
@@ -396,11 +404,11 @@ it will be treated as a shell command.  For example, defining
 "gitk --all --not ORIG_HEAD".
 
 apply.whitespace::
-       Tells `git-apply` how to handle whitespaces, in the same way
+       Tells 'git-apply' how to handle whitespaces, in the same way
        as the '--whitespace' option. See linkgit:git-apply[1].
 
 branch.autosetupmerge::
-       Tells `git-branch` and `git-checkout` to setup new branches
+       Tells 'git-branch' and 'git-checkout' to setup new branches
        so that linkgit:git-pull[1] will appropriately merge from the
        starting point branch. Note that even if this option is not set,
        this behavior can be chosen per-branch using the `--track`
@@ -411,7 +419,7 @@ branch.autosetupmerge::
        branch. This option defaults to true.
 
 branch.autosetuprebase::
-       When a new branch is created with `git-branch` or `git-checkout`
+       When a new branch is created with 'git-branch' or 'git-checkout'
        that tracks another branch, this variable tells git to set
        up pull to rebase instead of merge (see "branch.<name>.rebase").
        When `never`, rebase is never automatically set to true.
@@ -426,20 +434,20 @@ branch.autosetuprebase::
        This option defaults to never.
 
 branch.<name>.remote::
-       When in branch <name>, it tells `git-fetch` which remote to fetch.
-       If this option is not given, `git-fetch` defaults to remote "origin".
+       When in branch <name>, it tells 'git-fetch' which remote to fetch.
+       If this option is not given, 'git-fetch' defaults to remote "origin".
 
 branch.<name>.merge::
-       When in branch <name>, it tells `git-fetch` the default
+       When in branch <name>, it tells 'git-fetch' the default
        refspec to be marked for merging in FETCH_HEAD. The value is
        handled like the remote part of a refspec, and must match a
        ref which is fetched from the remote given by
        "branch.<name>.remote".
-       The merge information is used by `git-pull` (which at first calls
-       `git-fetch`) to lookup the default branch for merging. Without
-       this option, `git-pull` defaults to merge the first refspec fetched.
+       The merge information is used by 'git-pull' (which at first calls
+       'git-fetch') to lookup the default branch for merging. Without
+       this option, 'git-pull' defaults to merge the first refspec fetched.
        Specify multiple values to get an octopus merge.
-       If you wish to setup `git-pull` so that it merges into <name> from
+       If you wish to setup 'git-pull' so that it merges into <name> from
        another branch in the local repository, you can point
        branch.<name>.merge to the desired branch, and use the special setting
        `.` (a period) for branch.<name>.remote.
@@ -513,7 +521,7 @@ color.interactive::
        colors only when the output is to the terminal. Defaults to false.
 
 color.interactive.<slot>::
-       Use customized color for `git-add --interactive`
+       Use customized color for 'git-add --interactive'
        output. `<slot>` may be `prompt`, `header`, or `help`, for
        three distinct types of normal output from interactive
        programs.  The values of these variables may be specified as
@@ -550,21 +558,23 @@ color.ui::
        take precedence over this setting. Defaults to false.
 
 diff.autorefreshindex::
-       When using `git-diff` to compare with work tree
+       When using 'git-diff' to compare with work tree
        files, do not consider stat-only change as changed.
        Instead, silently run `git update-index --refresh` to
        update the cached stat information for paths whose
        contents in the work tree match the contents in the
        index.  This option defaults to true.  Note that this
-       affects only `git-diff` Porcelain, and not lower level
-       `diff` commands, such as `git-diff-files`.
+       affects only 'git-diff' Porcelain, and not lower level
+       'diff' commands, such as 'git-diff-files'.
 
 diff.external::
        If this config variable is set, diff generation is not
        performed using the internal diff machinery, but using the
-       given command.  Note: if you want to use an external diff
-       program only on a subset of your files, you might want to
-       use linkgit:gitattributes[5] instead.
+       given command.  Can be overridden with the `GIT_EXTERNAL_DIFF'
+       environment variable.  The command is called with parameters
+       as described under "git Diffs" in linkgit:git[1].  Note: if
+       you want to use an external diff program only on a subset of
+       your files, you might want to use linkgit:gitattributes[5] instead.
 
 diff.renameLimit::
        The number of files to consider when performing the copy/rename
@@ -625,39 +635,44 @@ gc.autopacklimit::
        default value is 50.  Setting this to 0 disables it.
 
 gc.packrefs::
-       `git-gc` does not run `git pack-refs` in a bare repository by
+       'git-gc' does not run `git pack-refs` in a bare repository by
        default so that older dumb-transport clients can still fetch
-       from the repository.  Setting this to `true` lets `git-gc`
+       from the repository.  Setting this to `true` lets 'git-gc'
        to run `git pack-refs`.  Setting this to `false` tells
-       `git-gc` never to run `git pack-refs`. The default setting is
+       'git-gc' never to run `git pack-refs`. The default setting is
        `notbare`. Enable it only when you know you do not have to
        support such clients.  The default setting will change to `true`
        at some stage, and setting this to `false` will continue to
-       prevent `git pack-refs` from being run from `git-gc`.
+       prevent `git pack-refs` from being run from 'git-gc'.
 
 gc.pruneexpire::
-       When `git-gc` is run, it will call `prune --expire 2.weeks.ago`.
+       When 'git-gc' is run, it will call 'prune --expire 2.weeks.ago'.
        Override the grace period with this config variable.
 
 gc.reflogexpire::
-       `git-reflog expire` removes reflog entries older than
+       'git-reflog expire' removes reflog entries older than
        this time; defaults to 90 days.
 
 gc.reflogexpireunreachable::
-       `git-reflog expire` removes reflog entries older than
+       'git-reflog expire' removes reflog entries older than
        this time and are not reachable from the current tip;
        defaults to 30 days.
 
 gc.rerereresolved::
        Records of conflicted merge you resolved earlier are
-       kept for this many days when `git-rerere gc` is run.
+       kept for this many days when 'git-rerere gc' is run.
        The default is 60 days.  See linkgit:git-rerere[1].
 
 gc.rerereunresolved::
        Records of conflicted merge you have not resolved are
-       kept for this many days when `git-rerere gc` is run.
+       kept for this many days when 'git-rerere gc' is run.
        The default is 15 days.  See linkgit:git-rerere[1].
 
+rerere.autoupdate::
+       When set to true, `git-rerere` updates the index with the
+       resulting contents after it cleanly resolves conflicts using
+       previously recorded resolution.  Defaults to false.
+
 rerere.enabled::
        Activate recording of resolved conflicts, so that identical
        conflict hunks can be resolved automatically, should they
@@ -678,9 +693,9 @@ gitcvs.usecrlfattr
        files to determine the '-k' modes to use. If `crlf` is set,
        the '-k' mode will be left blank, so cvs clients will
        treat it as text. If `crlf` is explicitly unset, the file
-       will be set with '-kb' mode, which supresses any newline munging
+       will be set with '-kb' mode, which suppresses any newline munging
        the client might otherwise do. If `crlf` is not specified,
-       then 'gitcvs.allbinary' is used. See linkgit:gitattribute[5].
+       then 'gitcvs.allbinary' is used. See linkgit:gitattributes[5].
 
 gitcvs.allbinary::
        This is used if 'gitcvs.usecrlfattr' does not resolve
@@ -821,7 +836,7 @@ i18n.commitEncoding::
 
 i18n.logOutputEncoding::
        Character encoding the commit messages are converted to when
-       running `git-log` and friends.
+       running 'git-log' and friends.
 
 instaweb.browser::
        Specify the program that will be used to browse your working