Merge branch 'jj/doc-markup-hints-in-coding-guidelines'
[gitweb.git] / Documentation / config.txt
index 00bde9dec54160ffc4d06e0169f2058176291928..ab26963d61877a2f8e03a3532ace5b31bc68738e 100644 (file)
@@ -170,8 +170,8 @@ advice.*::
        pushNeedsForce::
                Shown when linkgit:git-push[1] rejects an update that
                tries to overwrite a remote ref that points at an
-               object that is not a committish, or make the remote
-               ref point at an object that is not a committish.
+               object that is not a commit-ish, or make the remote
+               ref point at an object that is not a commit-ish.
        statusHints::
                Show directions on how to proceed from the current
                state in the output of linkgit:git-status[1], in
@@ -553,22 +553,20 @@ sequence.editor::
        When not configured the default commit message editor is used instead.
 
 core.pager::
-       The command that Git will use to paginate output.  Can
-       be overridden with the `GIT_PAGER` environment
-       variable.  Note that Git sets the `LESS` environment
-       variable to `FRSX` if it is unset when it runs the
-       pager.  One can change these settings by setting the
-       `LESS` variable to some other value.  Alternately,
-       these settings can be overridden on a project or
-       global basis by setting the `core.pager` option.
-       Setting `core.pager` has no effect on the `LESS`
-       environment variable behaviour above, so if you want
-       to override Git's default settings this way, you need
-       to be explicit.  For example, to disable the S option
-       in a backward compatible manner, set `core.pager`
-       to `less -+S`.  This will be passed to the shell by
-       Git, which will translate the final command to
-       `LESS=FRSX less -+S`.
+       Text viewer for use by Git commands (e.g., 'less').  The value
+       is meant to be interpreted by the shell.  The order of preference
+       is the `$GIT_PAGER` environment variable, then `core.pager`
+       configuration, then `$PAGER`, and then the default chosen at
+       compile time (usually 'less').
++
+When the `LESS` environment variable is unset, Git sets it to `FRSX`
+(if `LESS` environment variable is set, Git does not change it at
+all).  If you want to selectively override Git's default setting
+for `LESS`, you can set `core.pager` to e.g. `less -+S`.  This will
+be passed to the shell by Git, which will translate the final
+command to `LESS=FRSX less -+S`. The environment tells the command
+to set the `S` option to chop long lines but the command line
+resets it to the default to fold long lines.
 
 core.whitespace::
        A comma separated list of common whitespace problems to
@@ -726,6 +724,8 @@ branch.<name>.remote::
        overridden by `branch.<name>.pushremote`.  If no remote is
        configured, or if you are not on any branch, it defaults to
        `origin` for fetching and `remote.pushdefault` for pushing.
+       Additionally, `.` (a period) is the current local repository
+       (a dot-repository), see `branch.<name>.merge`'s final note below.
 
 branch.<name>.pushremote::
        When on branch <name>, it overrides `branch.<name>.remote` for
@@ -751,8 +751,8 @@ branch.<name>.merge::
        Specify multiple values to get an octopus merge.
        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.
+       branch.<name>.merge to the desired branch, and use the relative path
+       setting `.` (a period) for branch.<name>.remote.
 
 branch.<name>.mergeoptions::
        Sets default options for merging into branch <name>. The syntax and
@@ -765,6 +765,10 @@ branch.<name>.rebase::
        instead of merging the default branch from the default remote when
        "git pull" is run. See "pull.rebase" for doing this in a non
        branch-specific manner.
++
+       When preserve, also pass `--preserve-merges` along to 'git rebase'
+       so that locally committed merge commits will not be flattened
+       by running 'git pull'.
 +
 *NOTE*: this is a possibly dangerous operation; do *not* use
 it unless you understand the implications (see linkgit:git-rebase[1]
@@ -787,8 +791,8 @@ browser.<tool>.path::
        working repository in gitweb (see linkgit:git-instaweb[1]).
 
 clean.requireForce::
-       A boolean to make git-clean do nothing unless given -f
-       or -n.   Defaults to true.
+       A boolean to make git-clean do nothing unless given -f,
+       -i or -n.   Defaults to true.
 
 color.branch::
        A boolean to enable/disable color in the output of
@@ -1878,6 +1882,10 @@ pull.rebase::
        of merging the default branch from the default remote when "git
        pull" is run. See "branch.<name>.rebase" for setting this on a
        per-branch basis.
++
+       When preserve, also pass `--preserve-merges` along to 'git rebase'
+       so that locally committed merge commits will not be flattened
+       by running 'git pull'.
 +
 *NOTE*: this is a possibly dangerous operation; do *not* use
 it unless you understand the implications (see linkgit:git-rebase[1]
@@ -2177,6 +2185,13 @@ status.branch::
        Set to true to enable --branch by default in linkgit:git-status[1].
        The option --no-branch takes precedence over this variable.
 
+status.displayCommentPrefix::
+       If set to true, linkgit:git-status[1] will insert a comment
+       prefix before each output line (starting with
+       `core.commentChar`, i.e. `#` by default). This was the
+       behavior of linkgit:git-status[1] in Git 1.8.4 and previous.
+       Defaults to false.
+
 status.showUntrackedFiles::
        By default, linkgit:git-status[1] and linkgit:git-commit[1] show
        files which are not currently tracked by Git. Directories which
@@ -2201,7 +2216,14 @@ status.submodulesummary::
        If this is set to a non zero number or true (identical to -1 or an
        unlimited number), the submodule summary will be enabled and a
        summary of commits for modified submodules will be shown (see
-       --summary-limit option of linkgit:git-submodule[1]).
+       --summary-limit option of linkgit:git-submodule[1]). Please note
+       that the summary output command will be suppressed for all
+       submodules when `diff.ignoreSubmodules` is set to 'all' or only
+       for those submodules where `submodule.<name>.ignore=all`. To
+       also view the summary for ignored submodules you can either use
+       the --ignore-submodules=dirty command line option or the 'git
+       submodule summary' command, which shows a similar output but does
+       not honor these settings.
 
 submodule.<name>.path::
 submodule.<name>.url::
@@ -2236,7 +2258,8 @@ submodule.<name>.ignore::
        submodules that have untracked files in their work tree as changed.
        This setting overrides any setting made in .gitmodules for this submodule,
        both settings can be overridden on the command line by using the
-       "--ignore-submodules" option.
+       "--ignore-submodules" option. The 'git submodule' commands are not
+       affected by this setting.
 
 tar.umask::
        This variable can be used to restrict the permission bits of
@@ -2275,6 +2298,17 @@ uploadpack.allowtipsha1inwant::
        of a hidden ref (by default, such a request is rejected).
        see also `uploadpack.hiderefs`.
 
+uploadpack.keepalive::
+       When `upload-pack` has started `pack-objects`, there may be a
+       quiet period while `pack-objects` prepares the pack. Normally
+       it would output progress information, but if `--quiet` was used
+       for the fetch, `pack-objects` will output nothing at all until
+       the pack data begins. Some clients and networks may consider
+       the server to be hung and give up. Setting this option instructs
+       `upload-pack` to send an empty keepalive packet every
+       `uploadpack.keepalive` seconds. Setting this option to 0
+       disables keepalive packets entirely. The default is 5 seconds.
+
 url.<base>.insteadOf::
        Any URL that starts with this value will be rewritten to
        start, instead, with <base>. In cases where some site serves a
@@ -2310,11 +2344,11 @@ user.name::
        environment variables.  See linkgit:git-commit-tree[1].
 
 user.signingkey::
-       If linkgit:git-tag[1] is not selecting the key you want it to
-       automatically when creating a signed tag, you can override the
-       default selection with this variable.  This option is passed
-       unchanged to gpg's --local-user parameter, so you may specify a key
-       using any method that gpg supports.
+       If linkgit:git-tag[1] or linkgit:git-commit[1] is not selecting the
+       key you want it to automatically when creating a signed tag or
+       commit, you can override the default selection with this variable.
+       This option is passed unchanged to gpg's --local-user parameter,
+       so you may specify a key using any method that gpg supports.
 
 web.browser::
        Specify a web browser that may be used by some commands.