Merge branch 'tr/doc-tt' into maint
authorJunio C Hamano <gitster@pobox.com>
Wed, 6 Jul 2016 20:06:34 +0000 (13:06 -0700)
committerJunio C Hamano <gitster@pobox.com>
Wed, 6 Jul 2016 20:06:34 +0000 (13:06 -0700)
The documentation set has been updated so that literal commands,
configuration variables and environment variables are consistently
typeset in fixed-width font and bold in manpages.

* tr/doc-tt:
doc: change configuration variables format
doc: more consistency in environment variables format
doc: change environment variables format
doc: clearer rule about formatting literals

1  2 
Documentation/config.txt
Documentation/diff-config.txt
Documentation/git-commit.txt
Documentation/git-format-patch.txt
Documentation/git-init.txt
Documentation/git-log.txt
Documentation/git-p4.txt
Documentation/git-send-email.txt
Documentation/git.txt
Documentation/pretty-options.txt
diff --combined Documentation/config.txt
index 2e1b2e486e615981c14f7e591f3f32aa06cdee7a,ef77f03a8b55a519a5f592a9cdf15eac42a11f16..4f41840fdc0fed4ad5cf469032c7f76811dd61f0
@@@ -434,7 -434,7 +434,7 @@@ core.gitProxy:
        may be set multiple times and is matched in the given order;
        the first match wins.
  +
- Can be overridden by the 'GIT_PROXY_COMMAND' environment variable
+ Can be overridden by the `GIT_PROXY_COMMAND` environment variable
  (which always applies universally, without the special "for"
  handling).
  +
@@@ -478,9 -478,9 +478,9 @@@ false), while all other repositories ar
  
  core.worktree::
        Set the path to the root of the working tree.
-       If GIT_COMMON_DIR environment variable is set, core.worktree
+       If `GIT_COMMON_DIR` environment variable is set, core.worktree
        is ignored and not used for determining the root of working tree.
-       This can be overridden by the GIT_WORK_TREE environment
+       This can be overridden by the `GIT_WORK_TREE` environment
        variable and the '--work-tree' command-line option.
        The value can be an absolute path or relative to the path to
        the .git directory, which is either specified by --git-dir
@@@ -545,7 -545,7 +545,7 @@@ core.compression:
        -1 is the zlib default. 0 means no compression,
        and 1..9 are various speed/size tradeoffs, 9 being slowest.
        If set, this provides a default to other compression variables,
-       such as 'core.looseCompression' and 'pack.compression'.
+       such as `core.looseCompression` and `pack.compression`.
  
  core.looseCompression::
        An integer -1..9, indicating the compression level for objects that
@@@ -619,9 -619,9 +619,9 @@@ core.excludesFile:
  core.askPass::
        Some commands (e.g. svn and http interfaces) that interactively
        ask for a password can be told to use an external program given
-       via the value of this variable. Can be overridden by the 'GIT_ASKPASS'
+       via the value of this variable. Can be overridden by the `GIT_ASKPASS`
        environment variable. If not set, fall back to the value of the
-       'SSH_ASKPASS' environment variable or, failing that, a simple password
+       `SSH_ASKPASS` environment variable or, failing that, a simple password
        prompt. The external program shall be given a suitable prompt as
        command-line argument and write the password on its STDOUT.
  
@@@ -633,23 -633,6 +633,23 @@@ core.attributesFile:
        `$XDG_CONFIG_HOME/git/attributes`. If `$XDG_CONFIG_HOME` is either not
        set or empty, `$HOME/.config/git/attributes` is used instead.
  
 +core.hooksPath::
 +      By default Git will look for your hooks in the
 +      '$GIT_DIR/hooks' directory. Set this to different path,
 +      e.g. '/etc/git/hooks', and Git will try to find your hooks in
 +      that directory, e.g. '/etc/git/hooks/pre-receive' instead of
 +      in '$GIT_DIR/hooks/pre-receive'.
 ++
 +The path can be either absolute or relative. A relative path is
 +taken as relative to the directory where the hooks are run (see
 +the "DESCRIPTION" section of linkgit:githooks[5]).
 ++
 +This configuration variable is useful in cases where you'd like to
 +centrally configure your Git hooks instead of configuring them on a
 +per-repository basis, or as a more flexible and centralized
 +alternative to having an `init.templateDir` where you've changed
 +default hooks.
 +
  core.editor::
        Commands such as `commit` and `tag` that lets you edit
        messages by launching an editor uses the value of this
@@@ -764,7 -747,7 +764,7 @@@ core.notesRef:
        notes should be printed.
  +
  This setting defaults to "refs/notes/commits", and it can be overridden by
- the 'GIT_NOTES_REF' environment variable.  See linkgit:git-notes[1].
+ the `GIT_NOTES_REF` environment variable.  See linkgit:git-notes[1].
  
  core.sparseCheckout::
        Enable "sparse checkout" feature. See section "Sparse checkout" in
@@@ -800,7 -783,7 +800,7 @@@ it will be treated as a shell command
  "gitk --all --not ORIG_HEAD".  Note that shell commands will be
  executed from the top-level directory of a repository, which may
  not necessarily be the current directory.
'GIT_PREFIX' is set as returned by running 'git rev-parse --show-prefix'
`GIT_PREFIX` is set as returned by running 'git rev-parse --show-prefix'
  from the original current directory. See linkgit:git-rev-parse[1].
  
  am.keepcr::
@@@ -1141,16 -1124,11 +1141,16 @@@ commit.template:
        Specify the pathname of a file to use as the template for
        new commit messages.
  
 +commit.verbose::
 +      A boolean or int to specify the level of verbose with `git commit`.
 +      See linkgit:git-commit[1].
 +
  credential.helper::
        Specify an external helper to be called when a username or
        password credential is needed; the helper may consult external
 -      storage to avoid prompting the user for the credentials. See
 -      linkgit:gitcredentials[7] for details.
 +      storage to avoid prompting the user for the credentials. Note
 +      that multiple helpers may be defined. See linkgit:gitcredentials[7]
 +      for details.
  
  credential.useHttpPath::
        When acquiring credentials, consider the "path" component of an http
@@@ -1294,10 -1272,6 +1294,10 @@@ format.outputDirectory:
        Set a custom directory to store the resulting files instead of the
        current working directory.
  
 +format.useAutoBase::
 +      A boolean value which lets you enable the `--base=auto` option of
 +      format-patch by default.
 +
  filter.<driver>.clean::
        The command which is used to convert the content of a worktree
        file to a blob upon checkin.  See linkgit:gitattributes[5] for
@@@ -1426,18 -1400,18 +1426,18 @@@ gitcvs.usecrlfattr:
        treat it as text. If they suppress text conversion, the file
        will be set with '-kb' mode, which suppresses any newline munging
        the client might otherwise do. If the attributes do not allow
-       the file type to be determined, then 'gitcvs.allBinary' is
+       the file type to be determined, then `gitcvs.allBinary` is
        used. See linkgit:gitattributes[5].
  
  gitcvs.allBinary::
-       This is used if 'gitcvs.usecrlfattr' does not resolve
+       This is used if `gitcvs.usecrlfattr` does not resolve
        the correct '-kb' mode to use. If true, all
        unresolved files are sent to the client in
        mode '-kb'. This causes the client to treat them
        as binary files, which suppresses any newline munging it
        otherwise might do. Alternatively, if it is set to "guess",
        then the contents of the file are examined to decide if
-       it is binary, similar to 'core.autocrlf'.
+       it is binary, similar to `core.autocrlf`.
  
  gitcvs.dbName::
        Database used by git-cvsserver to cache revision information
@@@ -1456,7 -1430,7 +1456,7 @@@ gitcvs.dbDriver:
        See linkgit:git-cvsserver[1].
  
  gitcvs.dbUser, gitcvs.dbPass::
-       Database user and password. Only useful if setting 'gitcvs.dbDriver',
+       Database user and password. Only useful if setting `gitcvs.dbDriver`,
        since SQLite has no concept of database users and/or passwords.
        'gitcvs.dbUser' supports variable substitution (see
        linkgit:git-cvsserver[1] for details).
@@@ -1468,8 -1442,8 +1468,8 @@@ gitcvs.dbTableNamePrefix:
        linkgit:git-cvsserver[1] for details).  Any non-alphabetic
        characters will be replaced with underscores.
  
- All gitcvs variables except for 'gitcvs.usecrlfattr' and
'gitcvs.allBinary' can also be specified as
+ All gitcvs variables except for `gitcvs.usecrlfattr` and
`gitcvs.allBinary` can also be specified as
  'gitcvs.<access_method>.<varname>' (where 'access_method'
  is one of "ext" and "pserver") to make them apply only for the given
  access method.
@@@ -1502,7 -1476,7 +1502,7 @@@ grep.patternType:
  
  grep.extendedRegexp::
        If set to true, enable '--extended-regexp' option by default. This
-       option is ignored when the 'grep.patternType' option is set to a value
+       option is ignored when the `grep.patternType` option is set to a value
        other than 'default'.
  
  grep.threads::
@@@ -1587,7 -1561,7 +1587,7 @@@ guitool.<name>.cmd:
        of the linkgit:git-gui[1] `Tools` menu is invoked. This option is
        mandatory for every tool. The command is executed from the root of
        the working directory, and in the environment it receives the name of
-       the tool as 'GIT_GUITOOL', the name of the currently selected file as
+       the tool as `GIT_GUITOOL`, the name of the currently selected file as
        'FILENAME', and the name of the current branch as 'CUR_BRANCH' (if
        the head is detached, 'CUR_BRANCH' is empty).
  
@@@ -1608,7 -1582,7 +1608,7 @@@ guitool.<name>.confirm:
  
  guitool.<name>.argPrompt::
        Request a string argument from the user, and pass it to the tool
-       through the 'ARGS' environment variable. Since requesting an
+       through the `ARGS` environment variable. Since requesting an
        argument implies confirmation, the 'confirm' option has no effect
        if this is enabled. If the option is set to 'true', 'yes', or '1',
        the dialog uses a built-in generic prompt; otherwise the exact
  
  guitool.<name>.revPrompt::
        Request a single valid revision from the user, and set the
-       'REVISION' environment variable. In other aspects this option
+       `REVISION` environment variable. In other aspects this option
        is similar to 'argPrompt', and can be used together with it.
  
  guitool.<name>.revUnmerged::
@@@ -1672,7 -1646,7 +1672,7 @@@ http.proxyAuthMethod:
        only takes effect if the configured proxy string contains a user name part
        (i.e. is of the form 'user@host' or 'user@host:port'). This can be
        overridden on a per-remote basis; see `remote.<name>.proxyAuthMethod`.
-       Both can be overridden by the 'GIT_HTTP_PROXY_AUTHMETHOD' environment
+       Both can be overridden by the `GIT_HTTP_PROXY_AUTHMETHOD` environment
        variable.  Possible values are:
  +
  --
@@@ -1694,12 -1668,6 +1694,12 @@@ http.emptyAuth:
        a username in the URL, as libcurl normally requires a username for
        authentication.
  
 +http.extraHeader::
 +      Pass an additional HTTP header when communicating with a server.  If
 +      more than one such entry exists, all of them are added as extra
 +      headers.  To allow overriding the settings inherited from the system
 +      config, an empty value will reset the extra headers to the empty list.
 +
  http.cookieFile::
        The pathname of a file containing previously stored cookie lines,
        which should be used
@@@ -1731,9 -1699,9 +1731,9 @@@ http.sslVersion:
        - tlsv1.2
  
  +
- Can be overridden by the 'GIT_SSL_VERSION' environment variable.
+ Can be overridden by the `GIT_SSL_VERSION` environment variable.
  To force git to use libcurl's default ssl version and ignore any
- explicit http.sslversion option, set 'GIT_SSL_VERSION' to the
+ explicit http.sslversion option, set `GIT_SSL_VERSION` to the
  empty string.
  
  http.sslCipherList::
    option; see the libcurl documentation for more details on the format
    of this list.
  +
- Can be overridden by the 'GIT_SSL_CIPHER_LIST' environment variable.
+ Can be overridden by the `GIT_SSL_CIPHER_LIST` environment variable.
  To force git to use libcurl's default cipher list and ignore any
- explicit http.sslCipherList option, set 'GIT_SSL_CIPHER_LIST' to the
+ explicit http.sslCipherList option, set `GIT_SSL_CIPHER_LIST` to the
  empty string.
  
  http.sslVerify::
        Whether to verify the SSL certificate when fetching or pushing
-       over HTTPS. Can be overridden by the 'GIT_SSL_NO_VERIFY' environment
+       over HTTPS. Can be overridden by the `GIT_SSL_NO_VERIFY` environment
        variable.
  
  http.sslCert::
        File containing the SSL certificate when fetching or pushing
-       over HTTPS. Can be overridden by the 'GIT_SSL_CERT' environment
+       over HTTPS. Can be overridden by the `GIT_SSL_CERT` environment
        variable.
  
  http.sslKey::
        File containing the SSL private key when fetching or pushing
-       over HTTPS. Can be overridden by the 'GIT_SSL_KEY' environment
+       over HTTPS. Can be overridden by the `GIT_SSL_KEY` environment
        variable.
  
  http.sslCertPasswordProtected::
        Enable Git's password prompt for the SSL certificate.  Otherwise
        OpenSSL will prompt the user, possibly many times, if the
        certificate or private key is encrypted.  Can be overridden by the
-       'GIT_SSL_CERT_PASSWORD_PROTECTED' environment variable.
+       `GIT_SSL_CERT_PASSWORD_PROTECTED` environment variable.
  
  http.sslCAInfo::
        File containing the certificates to verify the peer with when
        fetching or pushing over HTTPS. Can be overridden by the
-       'GIT_SSL_CAINFO' environment variable.
+       `GIT_SSL_CAINFO` environment variable.
  
  http.sslCAPath::
        Path containing files with the CA certificates to verify the peer
        with when fetching or pushing over HTTPS. Can be overridden
-       by the 'GIT_SSL_CAPATH' environment variable.
+       by the `GIT_SSL_CAPATH` environment variable.
  
  http.pinnedpubkey::
        Public key of the https service. It may either be the filename of
@@@ -1798,7 -1766,7 +1798,7 @@@ http.sslTry:
  
  http.maxRequests::
        How many HTTP requests to launch in parallel. Can be overridden
-       by the 'GIT_HTTP_MAX_REQUESTS' environment variable. Default is 5.
+       by the `GIT_HTTP_MAX_REQUESTS` environment variable. Default is 5.
  
  http.minSessions::
        The number of curl sessions (counted across slots) to be kept across
@@@ -1817,13 -1785,13 +1817,13 @@@ http.postBuffer:
  http.lowSpeedLimit, http.lowSpeedTime::
        If the HTTP transfer speed is less than 'http.lowSpeedLimit'
        for longer than 'http.lowSpeedTime' seconds, the transfer is aborted.
-       Can be overridden by the 'GIT_HTTP_LOW_SPEED_LIMIT' and
-       'GIT_HTTP_LOW_SPEED_TIME' environment variables.
+       Can be overridden by the `GIT_HTTP_LOW_SPEED_LIMIT` and
+       `GIT_HTTP_LOW_SPEED_TIME` environment variables.
  
  http.noEPSV::
        A boolean which disables using of EPSV ftp command by curl.
        This can helpful with some "poor" ftp servers which don't
-       support EPSV mode. Can be overridden by the 'GIT_CURL_FTP_NO_EPSV'
+       support EPSV mode. Can be overridden by the `GIT_CURL_FTP_NO_EPSV`
        environment variable. Default is false (curl will use EPSV).
  
  http.userAgent::
        such as Mozilla/4.0.  This may be necessary, for instance, if
        connecting through a firewall that restricts HTTP connections to a set
        of common USER_AGENT strings (but not including those like git/1.7.1).
-       Can be overridden by the 'GIT_HTTP_USER_AGENT' environment variable.
+       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.
@@@ -1933,14 -1901,6 +1933,14 @@@ interactive.singleKey:
        setting is silently ignored if portable keystroke input
        is not available; requires the Perl module Term::ReadKey.
  
 +interactive.diffFilter::
 +      When an interactive command (such as `git add --patch`) shows
 +      a colorized diff, git will pipe the diff through the shell
 +      command defined by this configuration variable. The command may
 +      mark up the diff further for human consumption, provided that it
 +      retains a one-to-one correspondence with the lines in the
 +      original diff. Defaults to disabled (no filtering).
 +
  log.abbrevCommit::
        If true, makes linkgit:git-log[1], linkgit:git-show[1], and
        linkgit:git-whatchanged[1] assume `--abbrev-commit`. You may
@@@ -1956,10 -1916,7 +1956,10 @@@ log.decorate:
        command. If 'short' is specified, the ref name prefixes 'refs/heads/',
        'refs/tags/' and 'refs/remotes/' will not be printed. If 'full' is
        specified, the full ref name (including prefix) will be printed.
 -      This is the same as the log commands '--decorate' option.
 +      If 'auto' is specified, then if the output is going to a terminal,
 +      the ref names are shown as if 'short' were given, otherwise no ref
 +      names are shown. This is the same as the '--decorate' option
 +      of the `git log`.
  
  log.follow::
        If `true`, `git log` will act as if the `--follow` option was used when
@@@ -2630,7 -2587,7 +2630,7 @@@ sendemail.identity:
        A configuration identity. When given, causes values in the
        'sendemail.<identity>' subsection to take precedence over
        values in the 'sendemail' section. The default identity is
-       the value of 'sendemail.identity'.
+       the value of `sendemail.identity`.
  
  sendemail.smtpEncryption::
        See linkgit:git-send-email[1] for description.  Note that this
@@@ -2647,7 -2604,7 +2647,7 @@@ sendemail.<identity>.*:
        Identity-specific versions of the 'sendemail.*' parameters
        found below, taking precedence over those when the this
        identity is selected, through command-line or
-       'sendemail.identity'.
+       `sendemail.identity`.
  
  sendemail.aliasesFile::
  sendemail.aliasFileType::
@@@ -2677,7 -2634,7 +2677,7 @@@ sendemail.xmailer:
        See linkgit:git-send-email[1] for description.
  
  sendemail.signedoffcc (deprecated)::
-       Deprecated alias for 'sendemail.signedoffbycc'.
+       Deprecated alias for `sendemail.signedoffbycc`.
  
  showbranch.default::
        The default set of branches for linkgit:git-show-branch[1].
@@@ -2791,17 -2748,6 +2791,17 @@@ submodule.<name>.ignore:
        "--ignore-submodules" option. The 'git submodule' commands are not
        affected by this setting.
  
 +submodule.fetchJobs::
 +      Specifies how many submodules are fetched/cloned at the same time.
 +      A positive integer allows up to that number of submodules fetched
 +      in parallel. A value of 0 will give some reasonable default.
 +      If unset, it defaults to 1.
 +
 +tag.forceSignAnnotated::
 +      A boolean to specify whether annotated tags created should be GPG signed.
 +      If `--annotate` is specified on the command line, it takes
 +      precedence over this option.
 +
  tag.sort::
        This variable controls the sort ordering of tags when displayed by
        linkgit:git-tag[1]. Without the "--sort=<value>" option provided, the
@@@ -2909,17 -2855,17 +2909,17 @@@ url.<base>.pushInsteadOf:
  
  user.email::
        Your email address to be recorded in any newly created commits.
-       Can be overridden by the 'GIT_AUTHOR_EMAIL', 'GIT_COMMITTER_EMAIL', and
-       'EMAIL' environment variables.  See linkgit:git-commit-tree[1].
+       Can be overridden by the `GIT_AUTHOR_EMAIL`, `GIT_COMMITTER_EMAIL`, and
+       `EMAIL` environment variables.  See linkgit:git-commit-tree[1].
  
  user.name::
        Your full name to be recorded in any newly created commits.
-       Can be overridden by the 'GIT_AUTHOR_NAME' and 'GIT_COMMITTER_NAME'
+       Can be overridden by the `GIT_AUTHOR_NAME` and `GIT_COMMITTER_NAME`
        environment variables.  See linkgit:git-commit-tree[1].
  
  user.useConfigOnly::
-       Instruct Git to avoid trying to guess defaults for 'user.email'
-       and 'user.name', and instead retrieve the values only from the
+       Instruct Git to avoid trying to guess defaults for `user.email`
+       and `user.name`, and instead retrieve the values only from the
        configuration. For example, if you have multiple email addresses
        and would like to use a different one for each repository, then
        with this configuration option set to `true` in the global config
index d78cfc5a378a7ed9624a5fd24bc23d3c8b0dce57,7513795479a4080e007182b521773b53acb1d081..f1101c7b218877247067ae282398594e2410ebed
@@@ -75,7 -75,7 +75,7 @@@ diff.ignoreSubmodules:
        commands such as 'git diff-files'. 'git checkout' also honors
        this setting when reporting uncommitted changes. Setting it to
        'all' disables the submodule summary normally shown by 'git commit'
-       and 'git status' when 'status.submoduleSummary' is set unless it is
+       and 'git status' when `status.submoduleSummary` is set unless it is
        overridden by using the --ignore-submodules command-line option.
        The 'git submodule' commands are not affected by this setting.
  
@@@ -108,13 -108,9 +108,13 @@@ diff.renameLimit:
        detection; equivalent to the 'git diff' option '-l'.
  
  diff.renames::
 -      Tells Git to detect renames.  If set to any boolean value, it
 -      will enable basic rename detection.  If set to "copies" or
 -      "copy", it will detect copies, as well.
 +      Whether and how Git detects renames.  If set to "false",
 +      rename detection is disabled. If set to "true", basic rename
 +      detection is enabled.  If set to "copies" or "copy", Git will
 +      detect copies, as well.  Defaults to true.  Note that this
 +      affects only 'git diff' Porcelain like linkgit:git-diff[1] and
 +      linkgit:git-log[1], and not lower level commands such as
 +      linkgit:git-diff-files[1].
  
  diff.suppressBlankEmpty::
        A boolean to inhibit the standard behavior of printing a space
@@@ -170,11 -166,6 +170,11 @@@ diff.tool:
  
  include::mergetools-diff.txt[]
  
 +diff.compactionHeuristic::
 +      Set this option to `true` to enable an experimental heuristic that
 +      shifts the hunk boundary in an attempt to make the resulting
 +      patch easier to read.
 +
  diff.algorithm::
        Choose a diff algorithm.  The variants are as follows:
  +
index d474226eb79b45604884587f400b072c08f4ea2d,19ee2ddf8e83c22aab5b9a6772f1998a86ef2343..e7049537d973da6440f4dd7b3ddcdcf3beead756
@@@ -201,7 -201,7 +201,7 @@@ default:
        Otherwise `whitespace`.
  --
  +
- The default can be changed by the 'commit.cleanup' configuration
+ The default can be changed by the `commit.cleanup` configuration
  variable (see linkgit:git-config[1]).
  
  -e::
@@@ -290,8 -290,7 +290,8 @@@ configuration variable documented in li
        what changes the commit has.
        Note that this diff output doesn't have its
        lines prefixed with '#'. This diff will not be a part
 -      of the commit message.
 +      of the commit message. See the `commit.verbose` configuration
 +      variable in linkgit:git-config[1].
  +
  If specified twice, show in addition the unified diff between
  what would be committed and the worktree files, i.e. the unstaged
@@@ -450,8 -449,8 +450,8 @@@ include::i18n.txt[
  ENVIRONMENT AND CONFIGURATION VARIABLES
  ---------------------------------------
  The editor used to edit the commit log message will be chosen from the
GIT_EDITOR environment variable, the core.editor configuration variable, the
VISUAL environment variable, or the EDITOR environment variable (in that
`GIT_EDITOR` environment variable, the core.editor configuration variable, the
`VISUAL` environment variable, or the `EDITOR` environment variable (in that
  order).  See linkgit:git-var[1] for details.
  
  HOOKS
index bdeecd59e002b074f32960db2d19d745e21539c4,353f6351a01263d62b371a55518ac0adf8b16de1..9624c84a658c13758cd3b9de55f47d1e89f7b15d
@@@ -58,7 -58,7 +58,7 @@@ output, unless the `--stdout` option i
  
  If `-o` is specified, output files are created in <dir>.  Otherwise
  they are created in the current working directory. The default path
- can be set with the 'format.outputDirectory' configuration option.
+ can be set with the `format.outputDirectory` configuration option.
  The `-o` option takes precedence over `format.outputDirectory`.
  To store patches in the current working directory even when
  `format.outputDirectory` points elsewhere, use `-o .`.
@@@ -146,9 -146,9 +146,9 @@@ series, where the head is chosen from t
  `--in-reply-to`, and the first patch mail, in this order.  'deep'
  threading makes every mail a reply to the previous one.
  +
- The default is `--no-thread`, unless the 'format.thread' configuration
+ The default is `--no-thread`, unless the `format.thread` configuration
  is set.  If `--thread` is specified without a style, it defaults to the
- style specified by 'format.thread' if any, or else `shallow`.
+ style specified by `format.thread` if any, or else `shallow`.
  +
  Beware that the default for 'git send-email' is to thread emails
  itself.  If you want `git format-patch` to take care of threading, you
@@@ -265,11 -265,6 +265,11 @@@ you can use `--suffix=-patch` to get `0
    Output an all-zero hash in each patch's From header instead
    of the hash of the commit.
  
 +--base=<commit>::
 +      Record the base tree information to identify the state the
 +      patch series applies to.  See the BASE TREE INFORMATION section
 +      below for details.
 +
  --root::
        Treat the revision argument as a <revision range>, even if it
        is just a single commit (that would normally be treated as a
@@@ -525,61 -520,6 +525,61 @@@ This should help you to submit patches 
  5. Back in the compose window: add whatever other text you wish to the
     message, complete the addressing and subject fields, and press send.
  
 +BASE TREE INFORMATION
 +---------------------
 +
 +The base tree information block is used for maintainers or third party
 +testers to know the exact state the patch series applies to. It consists
 +of the 'base commit', which is a well-known commit that is part of the
 +stable part of the project history everybody else works off of, and zero
 +or more 'prerequisite patches', which are well-known patches in flight
 +that is not yet part of the 'base commit' that need to be applied on top
 +of 'base commit' in topological order before the patches can be applied.
 +
 +The 'base commit' is shown as "base-commit: " followed by the 40-hex of
 +the commit object name.  A 'prerequisite patch' is shown as
 +"prerequisite-patch-id: " followed by the 40-hex 'patch id', which can
 +be obtained by passing the patch through the `git patch-id --stable`
 +command.
 +
 +Imagine that on top of the public commit P, you applied well-known
 +patches X, Y and Z from somebody else, and then built your three-patch
 +series A, B, C, the history would be like:
 +
 +................................................
 +---P---X---Y---Z---A---B---C
 +................................................
 +
 +With `git format-patch --base=P -3 C` (or variants thereof, e.g. with
 +`--cover-letter` of using `Z..C` instead of `-3 C` to specify the
 +range), the base tree information block is shown at the end of the
 +first message the command outputs (either the first patch, or the
 +cover letter), like this:
 +
 +------------
 +base-commit: P
 +prerequisite-patch-id: X
 +prerequisite-patch-id: Y
 +prerequisite-patch-id: Z
 +------------
 +
 +For non-linear topology, such as
 +
 +................................................
 +---P---X---A---M---C
 +    \         /
 +     Y---Z---B
 +................................................
 +
 +You can also use `git format-patch --base=P -3 C` to generate patches
 +for A, B and C, and the identifiers for P, X, Y, Z are appended at the
 +end of the first message.
 +
 +If set `--base=auto` in cmdline, it will track base commit automatically,
 +the base commit will be the merge base of tip commit of the remote-tracking
 +branch and revision-range specified in cmdline.
 +For a local branch, you need to track a remote branch by `git branch
 +--set-upstream-to` before using this option.
  
  EXAMPLES
  --------
index 6364e5dc45b16dd00737321848b792388af7233a,341a164b91c83b3993055432a2e61bbd36574f90..9d27197de8f63e2e7495976af944344436e48302
@@@ -47,7 -47,7 +47,7 @@@ Only print error and warning messages; 
  
  --bare::
  
- Create a bare repository. If GIT_DIR environment is not set, it is set to the
+ Create a bare repository. If `GIT_DIR` environment is not set, it is set to the
  current working directory.
  
  --template=<template_directory>::
@@@ -130,12 -130,7 +130,12 @@@ The template directory will be one of t
   - the default template directory: `/usr/share/git-core/templates`.
  
  The default template directory includes some directory structure, suggested
 -"exclude patterns" (see linkgit:gitignore[5]), and sample hook files (see linkgit:githooks[5]).
 +"exclude patterns" (see linkgit:gitignore[5]), and sample hook files.
 +
 +The sample hooks are all disabled by default, To enable one of the
 +sample hooks rename it by removing its `.sample` suffix.
 +
 +See linkgit:githooks[5] for more general info on hook execution.
  
  EXAMPLES
  --------
index dec379b3e2bd58c74dba61a2a5207a38e702278c,e8dc9cab90af2a439d6770faac93b3481f2f17ed..4a6c47f843a8c0ca0b97a7b30648f7ca37e1f3c4
@@@ -29,14 -29,12 +29,14 @@@ OPTION
        (works only for a single file).
  
  --no-decorate::
 ---decorate[=short|full|no]::
 +--decorate[=short|full|auto|no]::
        Print out the ref names of any commits that are shown. If 'short' is
        specified, the ref name prefixes 'refs/heads/', 'refs/tags/' and
        'refs/remotes/' will not be printed. If 'full' is specified, the
 -      full ref name (including prefix) will be printed. The default option
 -      is 'short'.
 +      full ref name (including prefix) will be printed. If 'auto' is
 +      specified, then if the output is going to a terminal, the ref names
 +      are shown as if 'short' were given, otherwise no ref names are
 +      shown. The default option is 'short'.
  
  --source::
        Print out the ref name given on the command line by which each
@@@ -203,7 -201,7 +203,7 @@@ mailmap.*:
  
  notes.displayRef::
        Which refs, in addition to the default set by `core.notesRef`
-       or 'GIT_NOTES_REF', to read notes from when showing commit
+       or `GIT_NOTES_REF`, to read notes from when showing commit
        messages with the `log` family of commands.  See
        linkgit:git-notes[1].
  +
@@@ -212,7 -210,7 +212,7 @@@ multiple times.  A warning will be issu
  but a glob that does not match any refs is silently ignored.
  +
  This setting can be disabled by the `--no-notes` option,
- overridden by the 'GIT_NOTES_DISPLAY_REF' environment variable,
+ overridden by the `GIT_NOTES_DISPLAY_REF` environment variable,
  and overridden by the `--notes=<ref>` option.
  
  GIT
diff --combined Documentation/git-p4.txt
index 88ba42b4550a1ac7b579c48445f5933aaf13a20a,454bdb33f2d87982bc53a5aef45b03e3690cbebf..9d4f1519e789c12b16fe807f6021015bfd68385e
@@@ -134,7 -134,7 +134,7 @@@ Submi
  ~~~~~~
  Submitting changes from a Git repository back to the p4 repository
  requires a separate p4 client workspace.  This should be specified
- using the 'P4CLIENT' environment variable or the Git configuration
+ using the `P4CLIENT` environment variable or the Git configuration
  variable 'git-p4.client'.  The p4 client must exist, but the client root
  will be created and populated if it does not already exist.
  
@@@ -166,7 -166,7 +166,7 @@@ General option
  All commands except clone accept these options.
  
  --git-dir <dir>::
-       Set the 'GIT_DIR' environment variable.  See linkgit:git[1].
+       Set the `GIT_DIR` environment variable.  See linkgit:git[1].
  
  -v::
  --verbose::
@@@ -551,17 -551,6 +551,17 @@@ git-p4.keepEmptyCommits:
        A changelist that contains only excluded files will be imported
        as an empty commit if this boolean option is set to true.
  
 +git-p4.mapUser::
 +      Map a P4 user to a name and email address in Git. Use a string
 +      with the following format to create a mapping:
 ++
 +-------------
 +git config --add git-p4.mapUser "p4user = First Last <mail@address.com>"
 +-------------
 ++
 +A mapping will override any user information from P4. Mappings for
 +multiple P4 user can be defined.
 +
  Submit variables
  ~~~~~~~~~~~~~~~~
  git-p4.detectRenames::
index a88d18604a5b79b27745ffd0552899e7487acebc,00bfc815b62f1593dc7121a81bd83ea76921ed42..d0b38b4b10fa2e0f730e35534d9305b9d085da66
@@@ -47,18 -47,18 +47,18 @@@ Composin
  
  --annotate::
        Review and edit each patch you're about to send. Default is the value
-       of 'sendemail.annotate'. See the CONFIGURATION section for
-       'sendemail.multiEdit'.
+       of `sendemail.annotate`. See the CONFIGURATION section for
+       `sendemail.multiEdit`.
  
  --bcc=<address>,...::
        Specify a "Bcc:" value for each email. Default is the value of
-       'sendemail.bcc'.
+       `sendemail.bcc`.
  +
  This option may be specified multiple times.
  
  --cc=<address>,...::
        Specify a starting "Cc:" value for each email.
-       Default is the value of 'sendemail.cc'.
+       Default is the value of `sendemail.cc`.
  +
  This option may be specified multiple times.
  
@@@ -74,12 -74,12 +74,12 @@@ and In-Reply-To headers will be used un
  +
  Missing From or In-Reply-To headers will be prompted for.
  +
- See the CONFIGURATION section for 'sendemail.multiEdit'.
+ See the CONFIGURATION section for `sendemail.multiEdit`.
  
  --from=<address>::
        Specify the sender of the emails.  If not specified on the command line,
-       the value of the 'sendemail.from' configuration option is used.  If
-       neither the command-line option nor 'sendemail.from' are set, then the
+       the value of the `sendemail.from` configuration option is used.  If
+       neither the command-line option nor `sendemail.from` are set, then the
        user will be prompted for the value.  The default for the prompt will be
        the value of GIT_AUTHOR_IDENT, or GIT_COMMITTER_IDENT if that is not
        set, as returned by "git var -l".
@@@ -114,7 -114,7 +114,7 @@@ is not set, this will be prompted for
  --to=<address>,...::
        Specify the primary recipient of the emails generated. Generally, this
        will be the upstream maintainer of the project involved. Default is the
-       value of the 'sendemail.to' configuration value; if that is unspecified,
+       value of the `sendemail.to` configuration value; if that is unspecified,
        and --to-cmd is not specified, this will be prompted for.
  +
  This option may be specified multiple times.
@@@ -138,7 -138,7 +138,7 @@@ Note that no attempts whatsoever are ma
        can be useful when the repository contains files that contain carriage
        returns, but makes the raw patch email file (as saved from a MUA) much
        harder to inspect manually.  base64 is even more fool proof, but also
-       even more opaque.  Default is the value of the 'sendemail.transferEncoding'
+       even more opaque.  Default is the value of the `sendemail.transferEncoding`
        configuration value; if that is unspecified, git will use 8bit and not
        add a Content-Transfer-Encoding header.
  
@@@ -157,20 -157,20 +157,20 @@@ Sendin
        subscribed to a list. In order to use the 'From' address, set the
        value to "auto". If you use the sendmail binary, you must have
        suitable privileges for the -f parameter.  Default is the value of the
-       'sendemail.envelopeSender' configuration variable; if that is
+       `sendemail.envelopeSender` configuration variable; if that is
        unspecified, choosing the envelope sender is left to your MTA.
  
  --smtp-encryption=<encryption>::
        Specify the encryption to use, either 'ssl' or 'tls'.  Any other
        value reverts to plain SMTP.  Default is the value of
-       'sendemail.smtpEncryption'.
+       `sendemail.smtpEncryption`.
  
  --smtp-domain=<FQDN>::
        Specifies the Fully Qualified Domain Name (FQDN) used in the
        HELO/EHLO command to the SMTP server.  Some servers require the
        FQDN to match your IP address.  If not set, git send-email attempts
        to determine your FQDN automatically.  Default is the value of
-       'sendemail.smtpDomain'.
+       `sendemail.smtpDomain`.
  
  --smtp-auth=<mechanisms>::
        Whitespace-separated list of allowed SMTP-AUTH mechanisms. This setting
@@@ -188,13 -188,13 +188,13 @@@ is specified, all mechanisms supported 
  --smtp-pass[=<password>]::
        Password for SMTP-AUTH. The argument is optional: If no
        argument is specified, then the empty string is used as
-       the password. Default is the value of 'sendemail.smtpPass',
+       the password. Default is the value of `sendemail.smtpPass`,
        however '--smtp-pass' always overrides this value.
  +
  Furthermore, passwords need not be specified in configuration files
  or on the command line. If a username has been specified (with
- '--smtp-user' or a 'sendemail.smtpUser'), but no password has been
- specified (with '--smtp-pass' or 'sendemail.smtpPass'), then
+ '--smtp-user' or a `sendemail.smtpUser`), but no password has been
+ specified (with '--smtp-pass' or `sendemail.smtpPass`), then
  a password is obtained using 'git-credential'.
  
  --smtp-server=<host>::
        `smtp.example.com` or a raw IP address).  Alternatively it can
        specify a full pathname of a sendmail-like program instead;
        the program must support the `-i` option.  Default value can
-       be specified by the 'sendemail.smtpServer' configuration
+       be specified by the `sendemail.smtpServer` configuration
        option; the built-in default is `/usr/sbin/sendmail` or
        `/usr/lib/sendmail` if such program is available, or
        `localhost` otherwise.
        submission port 587, or the common SSL smtp port 465);
        symbolic port names (e.g. "submission" instead of 587)
        are also accepted. The port can also be set with the
-       'sendemail.smtpServerPort' configuration variable.
+       `sendemail.smtpServerPort` configuration variable.
  
  --smtp-server-option=<option>::
        If set, specifies the outgoing SMTP server option to use.
-       Default value can be specified by the 'sendemail.smtpServerOption'
+       Default value can be specified by the `sendemail.smtpServerOption`
        configuration option.
  +
  The --smtp-server-option option must be repeated for each option you want
@@@ -234,13 -234,13 +234,13 @@@ must be used for each option
        certificates concatenated together: see verify(1) -CAfile and
        -CApath for more information on these). Set it to an empty string
        to disable certificate verification. Defaults to the value of the
-       'sendemail.smtpsslcertpath' configuration variable, if set, or the
+       `sendemail.smtpsslcertpath` configuration variable, if set, or the
        backing SSL library's compiled-in default otherwise (which should
        be the best choice on most platforms).
  
  --smtp-user=<user>::
-       Username for SMTP-AUTH. Default is the value of 'sendemail.smtpUser';
-       if a username is not specified (with '--smtp-user' or 'sendemail.smtpUser'),
+       Username for SMTP-AUTH. Default is the value of `sendemail.smtpUser`;
+       if a username is not specified (with '--smtp-user' or `sendemail.smtpUser`),
        then authentication is not attempted.
  
  --smtp-debug=0|1::
@@@ -261,25 -261,25 +261,25 @@@ Automatin
        Specify a command to execute once per patch file which
        should generate patch file specific "Cc:" entries.
        Output of this command must be single email address per line.
-       Default is the value of 'sendemail.ccCmd' configuration value.
+       Default is the value of `sendemail.ccCmd` configuration value.
  
  --[no-]chain-reply-to::
        If this is set, each email will be sent as a reply to the previous
        email sent.  If disabled with "--no-chain-reply-to", all emails after
        the first will be sent as replies to the first email sent.  When using
        this, it is recommended that the first file given be an overview of the
-       entire patch series. Disabled by default, but the 'sendemail.chainReplyTo'
+       entire patch series. Disabled by default, but the `sendemail.chainReplyTo`
        configuration variable can be used to enable it.
  
  --identity=<identity>::
        A configuration identity. When given, causes values in the
        'sendemail.<identity>' subsection to take precedence over
        values in the 'sendemail' section. The default identity is
-       the value of 'sendemail.identity'.
+       the value of `sendemail.identity`.
  
  --[no-]signed-off-by-cc::
        If this is set, add emails found in Signed-off-by: or Cc: lines to the
-       cc list. Default is the value of 'sendemail.signedoffbycc' configuration
+       cc list. Default is the value of `sendemail.signedoffbycc` configuration
        value; if that is unspecified, default to --signed-off-by-cc.
  
  --[no-]cc-cover::
  - 'all' will suppress all auto cc values.
  --
  +
- Default is the value of 'sendemail.suppresscc' configuration value; if
+ Default is the value of `sendemail.suppresscc` configuration value; if
  that is unspecified, default to 'self' if --suppress-from is
  specified, as well as 'body' if --no-signed-off-cc is specified.
  
  --[no-]suppress-from::
        If this is set, do not add the From: address to the cc: list.
-       Default is the value of 'sendemail.suppressFrom' configuration
+       Default is the value of `sendemail.suppressFrom` configuration
        value; if that is unspecified, default to --no-suppress-from.
  
  --[no-]thread::
  +
  If disabled with "--no-thread", those headers will not be added
  (unless specified with --in-reply-to).  Default is the value of the
'sendemail.thread' configuration value; if that is unspecified,
`sendemail.thread` configuration value; if that is unspecified,
  default to --thread.
  +
  It is up to the user to ensure that no In-Reply-To header already
@@@ -355,7 -355,7 +355,7 @@@ Administerin
  - 'auto' is equivalent to 'cc' + 'compose'
  --
  +
- Default is the value of 'sendemail.confirm' configuration value; if that
+ Default is the value of `sendemail.confirm` configuration value; if that
  is unspecified, default to 'auto' unless any of the suppress options
  have been specified, in which case default to 'compose'.
  
                        is due to SMTP limits as described by http://www.ietf.org/rfc/rfc2821.txt.
  --
  +
- Default is the value of 'sendemail.validate'; if this is not set,
+ Default is the value of `sendemail.validate`; if this is not set,
  default to '--validate'.
  
  --force::
@@@ -403,7 -403,7 +403,7 @@@ CONFIGURATIO
  
  sendemail.aliasesFile::
        To avoid typing long email addresses, point this to one or more
-       email aliases files.  You must also supply 'sendemail.aliasFileType'.
+       email aliases files.  You must also supply `sendemail.aliasFileType`.
  
  sendemail.aliasFileType::
        Format of the file(s) specified in sendemail.aliasesFile. Must be
@@@ -450,19 -450,6 +450,19 @@@ edit ~/.gitconfig to specify your accou
                smtpUser = yourname@gmail.com
                smtpServerPort = 587
  
 +If you have multifactor authentication setup on your gmail account, you will
 +need to generate an app-specific password for use with 'git send-email'. Visit
 +https://security.google.com/settings/security/apppasswords to setup an
 +app-specific password.  Once setup, you can store it with the credentials
 +helper:
 +
 +      $ git credential fill
 +      protocol=smtp
 +      host=smtp.gmail.com
 +      username=youname@gmail.com
 +      password=app-password
 +
 +
  Once your commits are ready to be sent to the mailing list, run the
  following commands:
  
diff --combined Documentation/git.txt
index 5490d3c60197b15f6aa498a6c352e3daf3b3edfe,25ef006c3204ab08ffb4f5c5ad71317bb58b2548..b0611eaab468879c0138204143bbac020c2f7353
@@@ -43,11 -43,6 +43,11 @@@ unreleased) version of Git, that is ava
  branch of the `git.git` repository.
  Documentation for older releases are available here:
  
 +* link:v2.9.0/git.html[documentation for release 2.9]
 +
 +* release notes for
 +  link:RelNotes/2.9.0.txt[2.9].
 +
  * link:v2.8.4/git.html[documentation for release 2.8.4]
  
  * release notes for
@@@ -577,7 -572,7 +577,7 @@@ foo.bar= ...`) sets `foo.bar` to the em
  
  --git-dir=<path>::
        Set the path to the repository. This can also be controlled by
-       setting the GIT_DIR environment variable. It can be an absolute
+       setting the `GIT_DIR` environment variable. It can be an absolute
        path or relative path to current working directory.
  
  --work-tree=<path>::
@@@ -827,46 -822,46 +827,46 @@@ These environment variables apply to 'a
  is worth noting that they may be used/overridden by SCMS sitting above
  Git so take care if using a foreign front-end.
  
'GIT_INDEX_FILE'::
`GIT_INDEX_FILE`::
        This environment allows the specification of an alternate
        index file. If not specified, the default of `$GIT_DIR/index`
        is used.
  
'GIT_INDEX_VERSION'::
`GIT_INDEX_VERSION`::
        This environment variable allows the specification of an index
        version for new repositories.  It won't affect existing index
        files.  By default index file version 2 or 3 is used. See
        linkgit:git-update-index[1] for more information.
  
'GIT_OBJECT_DIRECTORY'::
`GIT_OBJECT_DIRECTORY`::
        If the object storage directory is specified via this
        environment variable then the sha1 directories are created
        underneath - otherwise the default `$GIT_DIR/objects`
        directory is used.
  
'GIT_ALTERNATE_OBJECT_DIRECTORIES'::
`GIT_ALTERNATE_OBJECT_DIRECTORIES`::
        Due to the immutable nature of Git objects, old objects can be
        archived into shared, read-only directories. This variable
        specifies a ":" separated (on Windows ";" separated) list
        of Git object directories which can be used to search for Git
        objects. New objects will not be written to these directories.
  
'GIT_DIR'::
-       If the 'GIT_DIR' environment variable is set then it
`GIT_DIR`::
+       If the `GIT_DIR` environment variable is set then it
        specifies a path to use instead of the default `.git`
        for the base of the repository.
        The '--git-dir' command-line option also sets this value.
  
'GIT_WORK_TREE'::
`GIT_WORK_TREE`::
        Set the path to the root of the working tree.
        This can also be controlled by the '--work-tree' command-line
        option and the core.worktree configuration variable.
  
'GIT_NAMESPACE'::
`GIT_NAMESPACE`::
        Set the Git namespace; see linkgit:gitnamespaces[7] for details.
        The '--namespace' command-line option also sets this value.
  
'GIT_CEILING_DIRECTORIES'::
`GIT_CEILING_DIRECTORIES`::
        This should be a colon-separated list of absolute paths.  If
        set, it is a list of directories that Git should not chdir up
        into while looking for a repository directory (useful for
        can add an empty entry to the list to tell Git that the
        subsequent entries are not symlinks and needn't be resolved;
        e.g.,
-       'GIT_CEILING_DIRECTORIES=/maybe/symlink::/very/slow/non/symlink'.
+       `GIT_CEILING_DIRECTORIES=/maybe/symlink::/very/slow/non/symlink`.
  
'GIT_DISCOVERY_ACROSS_FILESYSTEM'::
`GIT_DISCOVERY_ACROSS_FILESYSTEM`::
        When run in a directory that does not have ".git" repository
        directory, Git tries to find such a directory in the parent
        directories to find the top of the working tree, but by default it
        does not cross filesystem boundaries.  This environment variable
        can be set to true to tell Git not to stop at filesystem
-       boundaries.  Like 'GIT_CEILING_DIRECTORIES', this will not affect
-       an explicit repository directory set via 'GIT_DIR' or on the
+       boundaries.  Like `GIT_CEILING_DIRECTORIES`, this will not affect
+       an explicit repository directory set via `GIT_DIR` or on the
        command line.
  
'GIT_COMMON_DIR'::
`GIT_COMMON_DIR`::
        If this variable is set to a path, non-worktree files that are
        normally in $GIT_DIR will be taken from this path
        instead. Worktree-specific files such as HEAD or index are
  
  Git Commits
  ~~~~~~~~~~~
'GIT_AUTHOR_NAME'::
'GIT_AUTHOR_EMAIL'::
'GIT_AUTHOR_DATE'::
'GIT_COMMITTER_NAME'::
'GIT_COMMITTER_EMAIL'::
'GIT_COMMITTER_DATE'::
`GIT_AUTHOR_NAME`::
`GIT_AUTHOR_EMAIL`::
`GIT_AUTHOR_DATE`::
`GIT_COMMITTER_NAME`::
`GIT_COMMITTER_EMAIL`::
`GIT_COMMITTER_DATE`::
  'EMAIL'::
        see linkgit:git-commit-tree[1]
  
  Git Diffs
  ~~~~~~~~~
'GIT_DIFF_OPTS'::
`GIT_DIFF_OPTS`::
        Only valid setting is "--unified=??" or "-u??" to set the
        number of context lines shown when a unified diff is created.
        This takes precedence over any "-U" or "--unified" option
        value passed on the Git diff command line.
  
'GIT_EXTERNAL_DIFF'::
-       When the environment variable 'GIT_EXTERNAL_DIFF' is set, the
`GIT_EXTERNAL_DIFF`::
+       When the environment variable `GIT_EXTERNAL_DIFF` is set, the
        program named by it is called, instead of the diff invocation
        described above.  For a path that is added, removed, or modified,
-         'GIT_EXTERNAL_DIFF' is called with 7 parameters:
+       `GIT_EXTERNAL_DIFF` is called with 7 parameters:
  
        path old-file old-hex old-mode new-file new-hex new-mode
  +
@@@ -937,42 -932,42 +937,42 @@@ where
  The file parameters can point at the user's working file
  (e.g. `new-file` in "git-diff-files"), `/dev/null` (e.g. `old-file`
  when a new file is added), or a temporary file (e.g. `old-file` in the
- index).  'GIT_EXTERNAL_DIFF' should not worry about unlinking the
- temporary file --- it is removed when 'GIT_EXTERNAL_DIFF' exits.
+ index).  `GIT_EXTERNAL_DIFF` should not worry about unlinking the
+ temporary file --- it is removed when `GIT_EXTERNAL_DIFF` exits.
  +
- For a path that is unmerged, 'GIT_EXTERNAL_DIFF' is called with 1
+ For a path that is unmerged, `GIT_EXTERNAL_DIFF` is called with 1
  parameter, <path>.
  +
- For each path 'GIT_EXTERNAL_DIFF' is called, two environment variables,
'GIT_DIFF_PATH_COUNTER' and 'GIT_DIFF_PATH_TOTAL' are set.
+ For each path `GIT_EXTERNAL_DIFF` is called, two environment variables,
`GIT_DIFF_PATH_COUNTER` and `GIT_DIFF_PATH_TOTAL` are set.
  
'GIT_DIFF_PATH_COUNTER'::
`GIT_DIFF_PATH_COUNTER`::
        A 1-based counter incremented by one for every path.
  
'GIT_DIFF_PATH_TOTAL'::
`GIT_DIFF_PATH_TOTAL`::
        The total number of paths.
  
  other
  ~~~~~
'GIT_MERGE_VERBOSITY'::
`GIT_MERGE_VERBOSITY`::
        A number controlling the amount of output shown by
        the recursive merge strategy.  Overrides merge.verbosity.
        See linkgit:git-merge[1]
  
'GIT_PAGER'::
`GIT_PAGER`::
        This environment variable overrides `$PAGER`. If it is set
        to an empty string or to the value "cat", Git will not launch
        a pager.  See also the `core.pager` option in
        linkgit:git-config[1].
  
'GIT_EDITOR'::
`GIT_EDITOR`::
        This environment variable overrides `$EDITOR` and `$VISUAL`.
        It is used by several Git commands when, on interactive mode,
        an editor is to be launched. See also linkgit:git-var[1]
        and the `core.editor` option in linkgit:git-config[1].
  
'GIT_SSH'::
'GIT_SSH_COMMAND'::
`GIT_SSH`::
`GIT_SSH_COMMAND`::
        If either of these environment variables is set then 'git fetch'
        and 'git push' will use the specified command instead of 'ssh'
        when they need to connect to a remote system.
@@@ -992,18 -987,18 +992,18 @@@ Usually it is easier to configure any d
  personal `.ssh/config` file.  Please consult your ssh documentation
  for further details.
  
'GIT_ASKPASS'::
`GIT_ASKPASS`::
        If this environment variable is set, then Git commands which need to
        acquire passwords or passphrases (e.g. for HTTP or IMAP authentication)
        will call this program with a suitable prompt as command-line argument
-       and read the password from its STDOUT. See also the 'core.askPass'
+       and read the password from its STDOUT. See also the `core.askPass`
        option in linkgit:git-config[1].
  
'GIT_TERMINAL_PROMPT'::
`GIT_TERMINAL_PROMPT`::
        If this environment variable is set to `0`, git will not prompt
        on the terminal (e.g., when asking for HTTP authentication).
  
'GIT_CONFIG_NOSYSTEM'::
`GIT_CONFIG_NOSYSTEM`::
        Whether to skip reading settings from the system-wide
        `$(prefix)/etc/gitconfig` file.  This environment variable can
        be used along with `$HOME` and `$XDG_CONFIG_HOME` to create a
        temporarily to avoid using a buggy `/etc/gitconfig` file while
        waiting for someone with sufficient permissions to fix it.
  
'GIT_FLUSH'::
`GIT_FLUSH`::
        If this environment variable is set to "1", then commands such
        as 'git blame' (in incremental mode), 'git rev-list', 'git log',
        'git check-attr' and 'git check-ignore' will
        not set, Git will choose buffered or record-oriented flushing
        based on whether stdout appears to be redirected to a file or not.
  
'GIT_TRACE'::
`GIT_TRACE`::
        Enables general trace messages, e.g. alias expansion, built-in
        command execution and external command execution.
  +
@@@ -1043,21 -1038,21 +1043,21 @@@ into it
  Unsetting the variable, or setting it to empty, "0" or
  "false" (case insensitive) disables trace messages.
  
'GIT_TRACE_PACK_ACCESS'::
`GIT_TRACE_PACK_ACCESS`::
        Enables trace messages for all accesses to any packs. For each
        access, the pack file name and an offset in the pack is
        recorded. This may be helpful for troubleshooting some
        pack-related performance problems.
-       See 'GIT_TRACE' for available trace output options.
+       See `GIT_TRACE` for available trace output options.
  
'GIT_TRACE_PACKET'::
`GIT_TRACE_PACKET`::
        Enables trace messages for all packets coming in or out of a
        given program. This can help with debugging object negotiation
        or other protocol issues. Tracing is turned off at a packet
-       starting with "PACK" (but see 'GIT_TRACE_PACKFILE' below).
-       See 'GIT_TRACE' for available trace output options.
+       starting with "PACK" (but see `GIT_TRACE_PACKFILE` below).
+       See `GIT_TRACE` for available trace output options.
  
'GIT_TRACE_PACKFILE'::
`GIT_TRACE_PACKFILE`::
        Enables tracing of packfiles sent or received by a
        given program. Unlike other trace output, this trace is
        verbatim: no headers, and no quoting of binary data. You almost
  Note that this is currently only implemented for the client side
  of clones and fetches.
  
'GIT_TRACE_PERFORMANCE'::
`GIT_TRACE_PERFORMANCE`::
        Enables performance related trace messages, e.g. total execution
        time of each Git command.
-       See 'GIT_TRACE' for available trace output options.
+       See `GIT_TRACE` for available trace output options.
  
'GIT_TRACE_SETUP'::
`GIT_TRACE_SETUP`::
        Enables trace messages printing the .git, working tree and current
        working directory after Git has completed its setup phase.
-       See 'GIT_TRACE' for available trace output options.
+       See `GIT_TRACE` for available trace output options.
  
'GIT_TRACE_SHALLOW'::
`GIT_TRACE_SHALLOW`::
        Enables trace messages that can help debugging fetching /
        cloning of shallow repositories.
-       See 'GIT_TRACE' for available trace output options.
+       See `GIT_TRACE` for available trace output options.
  
'GIT_LITERAL_PATHSPECS'::
`GIT_LITERAL_PATHSPECS`::
        Setting this variable to `1` will cause Git to treat all
        pathspecs literally, rather than as glob patterns. For example,
        running `GIT_LITERAL_PATHSPECS=1 git log -- '*.c'` will search
        literal paths to Git (e.g., paths previously given to you by
        `git ls-tree`, `--raw` diff output, etc).
  
'GIT_GLOB_PATHSPECS'::
`GIT_GLOB_PATHSPECS`::
        Setting this variable to `1` will cause Git to treat all
        pathspecs as glob patterns (aka "glob" magic).
  
'GIT_NOGLOB_PATHSPECS'::
`GIT_NOGLOB_PATHSPECS`::
        Setting this variable to `1` will cause Git to treat all
        pathspecs as literal (aka "literal" magic).
  
'GIT_ICASE_PATHSPECS'::
`GIT_ICASE_PATHSPECS`::
        Setting this variable to `1` will cause Git to treat all
        pathspecs as case-insensitive.
  
'GIT_REFLOG_ACTION'::
`GIT_REFLOG_ACTION`::
        When a ref is updated, reflog entries are created to keep
        track of the reason why the ref was updated (which is
        typically the name of the high-level command that updated
        variable when it is invoked as the top level command by the
        end user, to be recorded in the body of the reflog.
  
'GIT_REF_PARANOIA'::
`GIT_REF_PARANOIA`::
        If set to `1`, include broken or badly named refs when iterating
        over lists of refs. In a normal, non-corrupted repository, this
        does nothing. However, enabling it may help git to detect and
        an operation has touched every ref (e.g., because you are
        cloning a repository to make a backup).
  
'GIT_ALLOW_PROTOCOL'::
`GIT_ALLOW_PROTOCOL`::
        If set, provide a colon-separated list of protocols which are
        allowed to be used with fetch/push/clone. This is useful to
        restrict recursive submodule initialization from an untrusted
index 6c67182728c08309c6b6281c59d67264e0c69c49,87e1317eed4bd140136d1db50e843478e2feee1d..e44fc8f7388d9a187416a573cc82c8a1d35897c5
@@@ -26,7 -26,7 +26,7 @@@ people using 80-column terminals
  --no-abbrev-commit::
        Show the full 40-byte hexadecimal commit object name. This negates
        `--abbrev-commit` and those options which imply it such as
-       "--oneline". It also overrides the 'log.abbrevCommit' variable.
+       "--oneline". It also overrides the `log.abbrevCommit` variable.
  
  --oneline::
        This is a shorthand for "--pretty=oneline --abbrev-commit"
        verbatim; this means that invalid sequences in the original
        commit may be copied to the output.
  
 +--expand-tabs=<n>::
 +--expand-tabs::
 +--no-expand-tabs::
 +      Perform a tab expansion (replace each tab with enough spaces
 +      to fill to the next display column that is multiple of '<n>')
 +      in the log message before showing it in the output.
 +      `--expand-tabs` is a short-hand for `--expand-tabs=8`, and
 +      `--no-expand-tabs` is a short-hand for `--expand-tabs=0`,
 +      which disables tab expansion.
 ++
 +By default, tabs are expanded in pretty formats that indent the log
 +message by 4 spaces (i.e.  'medium', which is the default, 'full',
 +and 'fuller').
 +
  ifndef::git-rev-list[]
  --notes[=<treeish>]::
        Show the notes (see linkgit:git-notes[1]) that annotate the
@@@ -65,7 -51,7 +65,7 @@@
        on the command line.
  +
  By default, the notes shown are from the notes refs listed in the
'core.notesRef' and 'notes.displayRef' variables (or corresponding
`core.notesRef` and `notes.displayRef` variables (or corresponding
  environment overrides). See linkgit:git-config[1] for more details.
  +
  With an optional '<treeish>' argument, use the treeish to find the notes