Merge branch 'mm/doc-tt'
authorJunio C Hamano <gitster@pobox.com>
Wed, 13 Jul 2016 18:24:14 +0000 (11:24 -0700)
committerJunio C Hamano <gitster@pobox.com>
Wed, 13 Jul 2016 18:24:14 +0000 (11:24 -0700)
More mark-up updates to typeset strings that are expected to
literally typed by the end user in fixed-width font.

* mm/doc-tt:
doc: typeset HEAD and variants as literal
CodingGuidelines: formatting HEAD in documentation
doc: typeset long options with argument as literal
doc: typeset '--' as literal
doc: typeset long command-line options as literal
doc: typeset short command-line options as literal
Documentation/git-mv.txt: fix whitespace indentation

15 files changed:
1  2 
Documentation/config.txt
Documentation/diff-config.txt
Documentation/fetch-options.txt
Documentation/git-am.txt
Documentation/git-cherry-pick.txt
Documentation/git-commit-tree.txt
Documentation/git-commit.txt
Documentation/git-fast-import.txt
Documentation/git-p4.txt
Documentation/git-rebase.txt
Documentation/git-repack.txt
Documentation/git-send-email.txt
Documentation/git-svn.txt
Documentation/git-tag.txt
Documentation/git.txt
diff --combined Documentation/config.txt
index db05dec743d1ad9b6b2b4272417dc968f2d56f7f,982b62009cc7de3cc38a46afa59df25d76d97f20..16dc22d9cf9e89a8c0914f72e7699bba05a59b99
@@@ -140,7 -140,7 +140,7 @@@ boolean:
         false;; Boolean false can be spelled as `no`, `off`,
                `false`, or `0`.
  +
- When converting value to the canonical form using '--bool' type
+ When converting value to the canonical form using `--bool` type
  specifier; 'git config' will ensure that the output is "true" or
  "false" (spelled in lowercase).
  
@@@ -150,34 -150,27 +150,34 @@@ integer:
         1024", "by 1024x1024", etc.
  
  color::
 -       The value for a variables that takes a color is a list of
 -       colors (at most two) and attributes (at most one), separated
 -       by spaces.  The colors accepted are `normal`, `black`,
 -       `red`, `green`, `yellow`, `blue`, `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. 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`.
 -+
 -The attributes are meant to be reset at the beginning of each item
 -in the colored output, so setting color.decorate.branch to `black`
 -will paint that branch name in a plain `black`, even if the previous
 -thing on the same output line (e.g. opening parenthesis before the
 -list of branch names in `log --decorate` output) is set to be
 -painted with `bold` or some other attribute.
 +       The value for a variable that takes a color is a list of
 +       colors (at most two, one for foreground and one for background)
 +       and attributes (as many as you want), separated by spaces.
 ++
 +The basic colors accepted are `normal`, `black`, `red`, `green`, `yellow`,
 +`blue`, `magenta`, `cyan` and `white`.  The first color given is the
 +foreground; the second is the background.
 ++
 +Colors 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`.
 ++
 +The accepted attributes are `bold`, `dim`, `ul`, `blink`, `reverse`,
 +`italic`, and `strike` (for crossed-out or "strikethrough" letters).
 +The position of any attributes with respect to the colors
 +(before, after, or in between), doesn't matter. Specific attributes may
 +be turned off by prefixing them with `no` or `no-` (e.g., `noreverse`,
 +`no-ul`, etc).
 ++
 +For git's pre-defined color slots, the attributes are meant to be reset
 +at the beginning of each item in the colored output. So setting
 +`color.decorate.branch` to `black` will paint that branch name in a
 +plain `black`, even if the previous thing on the same output line (e.g.
 +opening parenthesis before the list of branch names in `log --decorate`
 +output) is set to be painted with `bold` or some other attribute.
 +However, custom log formats may do more complicated and layered
 +coloring, and the negated forms may be useful there.
  
  pathname::
        A variable that takes a pathname value can be given a
@@@ -488,7 -481,7 +488,7 @@@ 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
-       variable and the '--work-tree' command-line option.
+       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
        or GIT_DIR, or automatically discovered.
@@@ -640,23 -633,6 +640,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
@@@ -786,7 -762,7 +786,7 @@@ core.abbrev:
  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'
+       added due to indexing errors. Equivalent to the `--ignore-errors`
        option of linkgit:git-add[1].  `add.ignore-errors` is deprecated,
        as it does not follow the usual naming convention for configuration
        variables.
@@@ -812,9 -788,9 +812,9 @@@ from the original current directory. Se
  
  am.keepcr::
        If true, git-am will call git-mailsplit for patches in mbox format
-       with parameter '--keep-cr'. In this case git-mailsplit will
+       with parameter `--keep-cr`. In this case git-mailsplit will
        not remove `\r` from lines ending with `\r\n`. Can be overridden
-       by giving '--no-keep-cr' from the command line.
+       by giving `--no-keep-cr` from the command line.
        See linkgit:git-am[1], linkgit:git-mailsplit[1].
  
  am.threeWay::
  
  apply.ignoreWhitespace::
        When set to 'change', tells 'git apply' to ignore changes in
-       whitespace, in the same way as the '--ignore-space-change'
+       whitespace, in the same way as the `--ignore-space-change`
        option.
        When set to one of: no, none, never, false tells 'git apply' to
        respect all whitespace differences.
  
  apply.whitespace::
        Tells 'git apply' how to handle whitespaces, in the same way
-       as the '--whitespace' option. See linkgit:git-apply[1].
+       as the `--whitespace` option. See linkgit:git-apply[1].
  
  branch.autoSetupMerge::
        Tells 'git branch' and 'git checkout' to set up new branches
@@@ -937,7 -913,7 +937,7 @@@ browser.<tool>.cmd:
  
  browser.<tool>.path::
        Override the path for the given tool that may be used to
-       browse HTML help (see '-w' option in linkgit:git-help[1]) or a
+       browse HTML help (see `-w` option in linkgit:git-help[1]) or a
        working repository in gitweb (see linkgit:git-instaweb[1]).
  
  clean.requireForce::
@@@ -1148,16 -1124,11 +1148,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
@@@ -1196,15 -1167,6 +1196,15 @@@ difftool.<tool>.cmd:
  difftool.prompt::
        Prompt before each invocation of the diff tool.
  
 +fastimport.unpackLimit::
 +      If the number of objects imported by linkgit:git-fast-import[1]
 +      is below this limit, then the objects will be unpacked into
 +      loose object files.  However if the number of imported objects
 +      equals or exceeds this limit then the pack will be stored as a
 +      pack.  Storing the pack from a fast-import can make the import
 +      operation complete faster, especially on slow filesystems.  If
 +      not set, the value of `transfer.unpackLimit` is used instead.
 +
  fetch.recurseSubmodules::
        This option can be either set to a boolean value or to 'on-demand'.
        Setting it to a boolean changes the behavior of fetch and pull to
@@@ -1310,10 -1272,6 +1310,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
@@@ -1436,9 -1394,9 +1436,9 @@@ gitcvs.logFile:
  
  gitcvs.usecrlfattr::
        If true, the server will look up the end-of-line conversion
-       attributes for files to determine the '-k' modes to use. If
+       attributes for files to determine the `-k` modes to use. If
        the attributes force Git to treat a file as text,
-       the '-k' mode will be left blank so CVS clients will
+       the `-k` mode will be left blank so CVS clients will
        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
@@@ -1508,16 -1466,16 +1508,16 @@@ gitweb.snapshot:
        See linkgit:gitweb.conf[5] for description.
  
  grep.lineNumber::
-       If set to true, enable '-n' option by default.
+       If set to true, enable `-n` option by default.
  
  grep.patternType::
        Set the default matching behavior. Using a value of 'basic', 'extended',
-       'fixed', or 'perl' will enable the '--basic-regexp', '--extended-regexp',
-       '--fixed-strings', or '--perl-regexp' option accordingly, while the
+       'fixed', or 'perl' will enable the `--basic-regexp`, `--extended-regexp`,
+       `--fixed-strings`, or `--perl-regexp` option accordingly, while the
        value 'default' will return to the default matching behavior.
  
  grep.extendedRegexp::
-       If set to true, enable '--extended-regexp' option by default. This
+       If set to true, enable `--extended-regexp` option by default. This
        option is ignored when the `grep.patternType` option is set to a value
        other than 'default'.
  
@@@ -1710,12 -1668,6 +1710,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
@@@ -1949,14 -1901,6 +1949,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
@@@ -1972,10 -1916,7 +1972,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
++      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
@@@ -2357,16 -2298,16 +2357,16 @@@ new default)
  --
  
  push.followTags::
-       If set to true enable '--follow-tags' option by default.  You
+       If set to true enable `--follow-tags` option by default.  You
        may override this configuration at time of push by specifying
-       '--no-follow-tags'.
+       `--no-follow-tags`.
  
  push.gpgSign::
        May be set to a boolean value, or the string 'if-asked'. A true
-       value causes all pushes to be GPG signed, as if '--signed' is
+       value causes all pushes to be GPG signed, as if `--signed` is
        passed to linkgit:git-push[1]. The string 'if-asked' causes
        pushes to be signed if the server supports it, as if
-       '--signed=if-asked' is passed to 'git push'. A false value may
+       `--signed=if-asked` is passed to 'git push'. A false value may
        override a value from a lower-priority config file. An explicit
        command-line flag always overrides this config option.
  
@@@ -2389,7 -2330,7 +2389,7 @@@ rebase.stat:
        rebase. False by default.
  
  rebase.autoSquash::
-       If set to true enable '--autosquash' option by default.
+       If set to true enable `--autosquash` option by default.
  
  rebase.autoStash::
        When set to true, automatically create a temporary stash
@@@ -2807,17 -2748,6 +2807,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
@@@ -2899,21 -2829,6 +2899,21 @@@ uploadpack.keepAlive:
        `uploadpack.keepAlive` seconds. Setting this option to 0
        disables keepalive packets entirely. The default is 5 seconds.
  
 +uploadpack.packObjectsHook::
 +      If this option is set, when `upload-pack` would run
 +      `git pack-objects` to create a packfile for a client, it will
 +      run this shell command instead.  The `pack-objects` command and
 +      arguments it _would_ have run (including the `git pack-objects`
 +      at the beginning) are appended to the shell command. The stdin
 +      and stdout of the hook are treated as if `pack-objects` itself
 +      was run. I.e., `upload-pack` will feed input intended for
 +      `pack-objects` to the hook, and expects a completed packfile on
 +      stdout.
 ++
 +Note that this configuration variable is ignored if it is seen in the
 +repository-level config (this is a safety measure against fetching from
 +untrusted repositories).
 +
  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
index f1101c7b218877247067ae282398594e2410ebed,0ddb7a6b4c022631fce876e52572fe7d93fd6aa2..d5a5b17d508839bc379821ee1a318400a3557fe9
@@@ -105,16 -105,12 +105,16 @@@ diff.orderFile:
  
  diff.renameLimit::
        The number of files to consider when performing the copy/rename
-       detection; equivalent to the 'git diff' option '-l'.
+       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 b05a8341e82f7ff3a1e07a0f6b691292cc9c5e68,dcc68b9429f3dcccd8a68a11f8a328d93d9ecdcc..9eab1f5fa42859651c6a0928ae0434799d5ce30e
@@@ -52,7 -52,7 +52,7 @@@ ifndef::git-pull[
  
  -p::
  --prune::
 -      After fetching, remove any remote-tracking references that no
 +      Before fetching, remove any remote-tracking references that no
        longer exist on the remote.  Tags are not subject to pruning
        if they are fetched only because of the default tag
        auto-following or due to a --tags option.  However, if tags
@@@ -88,7 -88,7 +88,7 @@@ ifndef::git-pull[
        to whatever else would otherwise be fetched.  Using this
        option alone does not subject tags to pruning, even if --prune
        is used (though tags may be pruned anyway if they are also the
-       destination of an explicit refspec; see '--prune').
+       destination of an explicit refspec; see `--prune`).
  
  --recurse-submodules[=yes|on-demand|no]::
        This option controls if and under what conditions new commits of
  
  --no-recurse-submodules::
        Disable recursive fetching of submodules (this has the same effect as
-       using the '--recurse-submodules=no' option).
+       using the `--recurse-submodules=no` option).
  
  --submodule-prefix=<path>::
        Prepend <path> to paths printed in informative messages
@@@ -137,7 -137,7 +137,7 @@@ endif::git-pull[
  
  --upload-pack <upload-pack>::
        When given, and the repository to fetch from is handled
-       by 'git fetch-pack', '--exec=<upload-pack>' is passed to
+       by 'git fetch-pack', `--exec=<upload-pack>` is passed to
        the command to specify non-default path for the command
        run on the other end.
  
diff --combined Documentation/git-am.txt
index 6348c29feab7b67bfc58b6a34e338c58c3f88fad,8dd9e4f05252109de9435633b47c525b7d98e882..12879e4029a7710e2d78bae476f7ad7d9b0fe830
@@@ -116,8 -116,7 +116,8 @@@ default.   You can use `--no-utf8` to o
        By default the command will try to detect the patch format
        automatically. This option allows the user to bypass the automatic
        detection and specify the patch format that the patch(es) should be
 -      interpreted as. Valid formats are mbox, stgit, stgit-series and hg.
 +      interpreted as. Valid formats are mbox, mboxrd,
 +      stgit, stgit-series and hg.
  
  -i::
  --interactive::
@@@ -199,12 -198,12 +199,12 @@@ When initially invoking `git am`, you g
  to process.  Upon seeing the first patch that does not apply, it
  aborts in the middle.  You can recover from this in one of two ways:
  
- . skip the current patch by re-running the command with the '--skip'
+ . skip the current patch by re-running the command with the `--skip`
    option.
  
  . hand resolve the conflict in the working directory, and update
    the index file to bring it into a state that the patch should
-   have produced.  Then run the command with the '--continue' option.
+   have produced.  Then run the command with the `--continue` option.
  
  The command refuses to process new mailboxes until the current
  operation is finished, so if you decide to start over from scratch,
index c104a594afee2dea57db9d9c88b463513558c455,c95b715c8cac99f2920fc480654d32b5bf0067d3..d35d771fc8172e12958b4a9521c51a5f65cddebe
@@@ -47,7 -47,7 +47,7 @@@ OPTION
        For a more complete list of ways to spell commits, see
        linkgit:gitrevisions[7].
        Sets of commits can be passed but no traversal is done by
-       default, as if the '--no-walk' option was specified, see
+       default, as if the `--no-walk` option was specified, see
        linkgit:git-rev-list[1]. Note that specifying a range will
        feed all <commit>... arguments to a single revision walk
        (see a later example that uses 'maint master..next').
@@@ -128,7 -128,7 +128,7 @@@ effect to your index in a row
  
  --allow-empty-message::
        By default, cherry-picking a commit with an empty message will fail.
 -      This option overrides that behaviour, allowing commits with empty
 +      This option overrides that behavior, allowing commits with empty
        messages to be cherry picked.
  
  --keep-redundant-commits::
index cb69faab686285050d121b1bd64f509a0b561f3e,ff130250bea38e487ae4a57ad849059143865ddd..002dae625e5ab7cb834fd548dc0b4c23072a0b1b
@@@ -44,7 -44,7 +44,7 @@@ OPTION
        An existing tree object
  
  -p <parent>::
-       Each '-p' indicates the id of a parent commit object.
+       Each `-p` indicates the id of a parent commit object.
  
  -m <message>::
        A paragraph in the commit log message. This can be given more than
@@@ -61,8 -61,8 +61,8 @@@
        stuck to the option without a space.
  
  --no-gpg-sign::
 -      Countermand `commit.gpgSign` configuration variable that is
 -      set to force each and every commit to be signed.
 +      Do not GPG-sign commit, to countermand a `--gpg-sign` option
 +      given earlier on the command line.
  
  
  Commit Information
index e7049537d973da6440f4dd7b3ddcdcf3beead756,448f42c8394fcdbe37e79c6317b6d6a5a42f15b4..b0a294d3b5e13b853f6c2c60201c2458788d4f00
@@@ -75,7 -75,7 +75,7 @@@ OPTION
  
  -c <commit>::
  --reedit-message=<commit>::
-       Like '-C', but with '-c' the editor is invoked, so that
+       Like '-C', but with `-c` the editor is invoked, so that
        the user can further edit the commit message.
  
  --fixup=<commit>::
@@@ -260,7 -260,7 +260,7 @@@ FROM UPSTREAM REBASE" section in linkgi
        staged for other paths. This is the default mode of operation of
        'git commit' if any paths are given on the command line,
        in which case this option can be omitted.
-       If this option is specified together with '--amend', then
+       If this option is specified together with `--amend`, then
        no paths need to be specified, which can be used to amend
        the last commit without committing changes that have
        already been staged.
@@@ -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
index 644df993f924d3265db10af6e6c29e33daf95482,c105f2121ec3aec29830e3a0b708bbba97e93695..2b762654bf4779b8579bf9b17e75b4aa0322f789
@@@ -136,8 -136,6 +136,8 @@@ Performance and Compression Tunin
        Maximum size of each output packfile.
        The default is unlimited.
  
 +fastimport.unpackLimit::
 +      See linkgit:git-config[1]
  
  Performance
  -----------
@@@ -1056,7 -1054,7 +1056,7 @@@ relative-marks:
  no-relative-marks::
  force::
        Act as though the corresponding command-line option with
-       a leading '--' was passed on the command line
+       a leading `--` was passed on the command line
        (see OPTIONS, above).
  
  import-marks::
@@@ -1107,7 -1105,7 +1107,7 @@@ options the user may specify to git fas
  
  The `<option>` part of the command may contain any of the options
  listed in the OPTIONS section that do not change import semantics,
- without the leading '--' and is treated in the same way.
+ without the leading `--` and is treated in the same way.
  
  Option commands must be the first commands on the input (not counting
  feature commands), to give an option command after any non-option
diff --combined Documentation/git-p4.txt
index 9d4f1519e789c12b16fe807f6021015bfd68385e,ac7e6a38c0d9b62bb5b2d7c73006db0a6fe7c6a4..c83aaf39c33505ead72d523f278620fcc6f8f757
@@@ -104,7 -104,7 +104,7 @@@ $ git p4 sync //path/in/your/perforce/d
  ------------
  This imports the specified depot into
  'refs/remotes/p4/master' in an existing Git repository.  The
'--branch' option can be used to specify a different branch to
`--branch` option can be used to specify a different branch to
  be used for the p4 content.
  
  If a Git repository includes branches 'refs/remotes/origin/p4', these
@@@ -114,7 -114,7 +114,7 @@@ from a Git remote, this can be useful i
  
  If there are multiple branches, doing 'git p4 sync' will automatically
  use the "BRANCH DETECTION" algorithm to try to partition new changes
- into the right branch.  This can be overridden with the '--branch'
+ into the right branch.  This can be overridden with the `--branch`
  option to specify just a single branch to update.
  
  
@@@ -150,10 -150,10 +150,10 @@@ $ git p4 submit topicbranc
  ------------
  
  The upstream reference is generally 'refs/remotes/p4/master', but can
- be overridden using the '--origin=' command-line option.
+ be overridden using the `--origin=` command-line option.
  
  The p4 changes will be created as the user invoking 'git p4 submit'. The
'--preserve-user' option will cause ownership to be modified
`--preserve-user` option will cause ownership to be modified
  according to the author of the Git commit.  This option requires admin
  privileges in p4, which can be granted using 'p4 protect'.
  
@@@ -221,7 -221,7 +221,7 @@@ Git repository
        where they will be treated as remote-tracking branches by
        linkgit:git-branch[1] and other commands.  This option instead
        puts p4 branches in 'refs/heads/p4/'.  Note that future
-       sync operations must specify '--import-local' as well so that
+       sync operations must specify `--import-local` as well so that
        they can find the p4 branches in refs/heads.
  
  --max-changes <n>::
        default, involves removing the entire depot path.  With this
        option, the full p4 depot path is retained in Git.  For example,
        path '//depot/main/foo/bar.c', when imported from
-       '//depot/main/', becomes 'foo/bar.c'.  With '--keep-path', the
+       '//depot/main/', becomes 'foo/bar.c'.  With `--keep-path`, the
        Git path is instead 'depot/main/foo/bar.c'.
  
  --use-client-spec::
@@@ -275,7 -275,7 +275,7 @@@ These options can be used to modify 'gi
  --origin <commit>::
        Upstream location from which commits are identified to submit to
        p4.  By default, this is the most recent p4 commit reachable
-       from 'HEAD'.
+       from `HEAD`.
  
  -M::
        Detect renames.  See linkgit:git-diff[1].  Renames will be
@@@ -341,7 -341,7 +341,7 @@@ p4 revision specifier on the end
      Import all changes from both named depot paths into a single
      repository.  Only files below these directories are included.
      There is not a subdirectory in Git for each "proj1" and "proj2".
-     You must use the '--destination' option when specifying more
+     You must use the `--destination` option when specifying more
      than one depot path.  The revision specifier must be specified
      identically on each depot path.  If there are files in the
      depot paths with the same name, the path with the most recently
@@@ -355,7 -355,7 +355,7 @@@ CLIENT SPE
  The p4 client specification is maintained with the 'p4 client' command
  and contains among other fields, a View that specifies how the depot
  is mapped into the client repository.  The 'clone' and 'sync' commands
- can consult the client spec when given the '--use-client-spec' option or
+ can consult the client spec when given the `--use-client-spec` option or
  when the useClientSpec variable is true.  After 'git p4 clone', the
  useClientSpec variable is automatically set in the repository
  configuration file.  This allows future 'git p4 submit' commands to
@@@ -390,7 -390,7 +390,7 @@@ different areas in the tree, and indica
  can use these mappings to determine branch relationships.
  
  If you have a repository where all the branches of interest exist as
- subdirectories of a single depot path, you can use '--detect-branches'
+ subdirectories of a single depot path, you can use `--detect-branches`
  when cloning or syncing to have 'git p4' automatically find
  subdirectories in p4, and to generate these as branches in Git.
  
@@@ -507,7 -507,7 +507,7 @@@ git-p4.labelImportRegexp:
  git-p4.useClientSpec::
        Specify that the p4 client spec should be used to identify p4
        depot paths of interest.  This is equivalent to specifying the
-       option '--use-client-spec'.  See the "CLIENT SPEC" section above.
+       option `--use-client-spec`.  See the "CLIENT SPEC" section above.
        This variable is a boolean, not the name of a p4 client.
  
  git-p4.pathEncoding::
@@@ -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 0387b40e0a7301c1e8c89ac6d451aac9fc01ced7,a8078ff2a92f8f58d053ca90583bf1309f293a63..de222c81af98c96678841f258342fe2cc3c426a8
@@@ -208,10 -208,10 +208,10 @@@ rebase.stat:
        rebase. False by default.
  
  rebase.autoSquash::
-       If set to true enable '--autosquash' option by default.
+       If set to true enable `--autosquash` option by default.
  
  rebase.autoStash::
-       If set to true enable '--autostash' option by default.
+       If set to true enable `--autostash` option by default.
  
  rebase.missingCommitsCheck::
        If set to "warn", print warnings about removed commits in
        done. "ignore" by default.
  
  rebase.instructionFormat::
-       Custom commit list format to use during an '--interactive' rebase.
+       Custom commit list format to use during an `--interactive` rebase.
  
  OPTIONS
  -------
@@@ -391,6 -391,9 +391,6 @@@ idea unless you know what you are doin
        final history. <cmd> will be interpreted as one or more shell
        commands.
  +
 -This option can only be used with the `--interactive` option
 -(see INTERACTIVE MODE below).
 -+
  You may execute several commands by either using one instance of `--exec`
  with several commands:
  +
@@@ -403,9 -406,6 +403,9 @@@ or by giving more than one `--exec`
  If `--autosquash` is used, "exec" lines will not be appended for
  the intermediate commits, and will only appear at the end of each
  squash/fixup series.
 ++
 +This uses the `--interactive` machinery internally, but it can be run
 +without an explicit `--interactive`.
  
  --root::
        Rebase all commits reachable from <branch>, instead of
        "fixup! " or "squash! " after the first, in case you referred to an
        earlier fixup/squash with `git commit --fixup/--squash`.
  +
- This option is only valid when the '--interactive' option is used.
+ This option is only valid when the `--interactive` option is used.
  +
- If the '--autosquash' option is enabled by default using the
+ If the `--autosquash` option is enabled by default using the
  configuration variable `rebase.autoSquash`, this option can be
  used to override and disable this setting.
  
index b58b6b597245947898712b6f671ec316c2080275,0c03eecff9cdda870294dd45ad203974688c0efc..c5975234f4752147c0149f67375ecd577599b4c1
@@@ -33,7 -33,7 +33,7 @@@ OPTION
        pack everything referenced into a single pack.
        Especially useful when packing a repository that is used
        for private development. Use
-       with '-d'.  This will clean up the objects that `git prune`
+       with `-d`.  This will clean up the objects that `git prune`
        leaves behind, but `git fsck --full --dangling` shows as
        dangling.
  +
@@@ -42,7 -42,7 +42,7 @@@ whole new pack in order to get any cont
  other objects in that pack they already have locally.
  
  -A::
-       Same as `-a`, unless '-d' is used.  Then any unreachable
+       Same as `-a`, unless `-d` is used.  Then any unreachable
        objects in a previous pack become loose, unpacked objects,
        instead of being left in the old pack.  Unreachable objects
        are never intentionally added to a pack, even when repacking.
        with `-b` or `repack.writeBitmaps`, as it ensures that the
        bitmapped packfile has the necessary objects.
  
 +--unpack-unreachable=<when>::
 +      When loosening unreachable objects, do not bother loosening any
 +      objects older than `<when>`. This can be used to optimize out
 +      the write of any objects that would be immediately pruned by
 +      a follow-up `git prune`.
 +
 +-k::
 +--keep-unreachable::
 +      When used with `-ad`, any unreachable objects from existing
 +      packs will be appended to the end of the packfile instead of
 +      being removed. In addition, any unreachable loose objects will
 +      be packed (and their loose counterparts removed).
 +
  Configuration
  -------------
  
index d0b38b4b10fa2e0f730e35534d9305b9d085da66,d85b87813917c983330a904095b2a4a562efeef8..642d0ef199c72160ca74238122fafdbdfee9a0c7
@@@ -66,7 -66,7 +66,7 @@@ This option may be specified multiple t
        Invoke a text editor (see GIT_EDITOR in linkgit:git-var[1])
        to edit an introductory message for the patch series.
  +
- When '--compose' is used, git send-email will use the From, Subject, and
+ When `--compose` is used, git send-email will use the From, Subject, and
  In-Reply-To headers specified in the message. If the body of the message
  (what you type after the headers and a blank line) only contains blank
  (or Git: prefixed) lines, the summary won't be sent, but From, Subject,
@@@ -182,19 -182,19 +182,19 @@@ $ git send-email --smtp-auth="PLAIN LOG
  +
  If at least one of the specified mechanisms matches the ones advertised by the
  SMTP server and if it is supported by the utilized SASL library, the mechanism
- is used for authentication. If neither 'sendemail.smtpAuth' nor '--smtp-auth'
+ is used for authentication. If neither 'sendemail.smtpAuth' nor `--smtp-auth`
  is specified, all mechanisms supported by the SASL library can be used.
  
  --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`,
-       however '--smtp-pass' always overrides this value.
+       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>::
@@@ -240,7 -240,7 +240,7 @@@ must be used for each option
  
  --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`),
+       if a username is not specified (with `--smtp-user` or `sendemail.smtpUser`),
        then authentication is not attempted.
  
  --smtp-debug=0|1::
@@@ -364,8 -364,8 +364,8 @@@ have been specified, in which case defa
  
  --[no-]format-patch::
        When an argument may be understood either as a reference or as a file name,
-       choose to understand it as a format-patch argument ('--format-patch')
-       or as a file name ('--no-format-patch'). By default, when such a conflict
+       choose to understand it as a format-patch argument (`--format-patch`)
+       or as a file name (`--no-format-patch`). By default, when such a conflict
        occurs, git send-email will fail.
  
  --quiet::
  --
  +
  Default is the value of `sendemail.validate`; if this is not set,
- default to '--validate'.
+ default to `--validate`.
  
  --force::
        Send emails even if safety checks would prevent it.
@@@ -428,13 -428,13 +428,13 @@@ sendmail;
  
  sendemail.multiEdit::
        If true (default), a single editor instance will be spawned to edit
-       files you have to edit (patches when '--annotate' is used, and the
-       summary when '--compose' is used). If false, files will be edited one
+       files you have to edit (patches when `--annotate` is used, and the
+       summary when `--compose` is used). If false, files will be edited one
        after the other, spawning a new editor each time.
  
  sendemail.confirm::
        Sets the default for whether to confirm before sending. Must be
-       one of 'always', 'never', 'cc', 'compose', or 'auto'. See '--confirm'
+       one of 'always', 'never', 'cc', 'compose', or 'auto'. See `--confirm`
        in the previous section for the meaning of these values.
  
  EXAMPLE
@@@ -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:
  
index 698a6685f6d27480a1164166bcea0da54d4e661e,935d3c27f27b7a17f4967c51fa15ac9a9e0915f9..7e17cade7f0d2d0a80b079d51f5df600600078f5
@@@ -98,11 -98,11 +98,11 @@@ your Perl's Getopt::Long is < v2.37)
  --ignore-paths=<regex>;;
        When passed to 'init' or 'clone' this regular expression will
        be preserved as a config key.  See 'fetch' for a description
-       of '--ignore-paths'.
+       of `--ignore-paths`.
  --include-paths=<regex>;;
        When passed to 'init' or 'clone' this regular expression will
        be preserved as a config key.  See 'fetch' for a description
-       of '--include-paths'.
+       of `--include-paths`.
  --no-minimize-url;;
        When tracking multiple directories (using --stdlayout,
        --branches, or --tags options), git svn will attempt to connect
        repository.  This default allows better tracking of history if
        entire projects are moved within a repository, but may cause
        issues on repositories where read access restrictions are in
-       place.  Passing '--no-minimize-url' will allow git svn to
+       place.  Passing `--no-minimize-url` will allow git svn to
        accept URLs as-is without attempting to connect to a higher
        level directory.  This option is off by default when only
        one URL/branch is tracked (it would do little good).
@@@ -141,7 -141,7 +141,7 @@@ the same local time zone
  --ignore-paths=<regex>;;
        This allows one to specify a Perl regular expression that will
        cause skipping of all matching paths from checkout from SVN.
-       The '--ignore-paths' option should match for every 'fetch'
+       The `--ignore-paths` option should match for every 'fetch'
        (including automatic fetches due to 'clone', 'dcommit',
        'rebase', etc) on a given repository.
  +
@@@ -170,10 -170,10 +170,10 @@@ Skip "branches" and "tags" of first lev
  --include-paths=<regex>;;
        This allows one to specify a Perl regular expression that will
        cause the inclusion of only matching paths from checkout from SVN.
-       The '--include-paths' option should match for every 'fetch'
+       The `--include-paths` option should match for every 'fetch'
        (including automatic fetches due to 'clone', 'dcommit',
-       'rebase', etc) on a given repository. '--ignore-paths' takes
-       precedence over '--include-paths'.
+       'rebase', etc) on a given repository. `--ignore-paths` takes
+       precedence over `--include-paths`.
  +
  [verse]
  config key: svn-remote.<name>.include-paths
        or if a second argument is passed; it will create a directory
        and work within that.  It accepts all arguments that the
        'init' and 'fetch' commands accept; with the exception of
-       '--fetch-all' and '--parent'.  After a repository is cloned,
+       `--fetch-all` and `--parent`.  After a repository is cloned,
        the 'fetch' command will be able to update revisions without
        affecting the working tree; and the 'rebase' command will be
        able to update the working tree with the latest changes.
@@@ -216,7 -216,7 +216,7 @@@ it preserves linear history with 'git r
  'git merge' for ease of dcommitting with 'git svn'.
  +
  This accepts all options that 'git svn fetch' and 'git rebase'
- accept.  However, '--fetch-all' only fetches from the current
+ accept.  However, `--fetch-all` only fetches from the current
  [svn-remote], and not all [svn-remote] definitions.
  +
  Like 'git rebase'; this requires that the working tree be clean
@@@ -459,20 -459,6 +459,20 @@@ Any other arguments are passed directl
        Gets the Subversion property given as the first argument, for a
        file.  A specific revision can be specified with -r/--revision.
  
 +'propset'::
 +      Sets the Subversion property given as the first argument, to the
 +      value given as the second argument for the file given as the
 +      third argument.
 ++
 +Example:
 ++
 +------------------------------------------------------------------------
 +git svn propset svn:keywords "FreeBSD=%H" devel/py-tipper/Makefile
 +------------------------------------------------------------------------
 ++
 +This will set the property 'svn:keywords' to 'FreeBSD=%H' for the file
 +'devel/py-tipper/Makefile'.
 +
  'show-externals'::
        Shows the Subversion externals.  Use -r/--revision to specify a
        specific revision.
@@@ -919,7 -905,7 +919,7 @@@ parent of the branch. However, it is po
  Git commit to serve as parent.  This will happen, among other reasons,
  if the SVN branch is a copy of a revision that was not fetched by 'git
  svn' (e.g. because it is an old revision that was skipped with
'--revision'), or if in SVN a directory was copied that is not tracked
`--revision`), or if in SVN a directory was copied that is not tracked
  by 'git svn' (such as a branch that is not tracked at all, or a
  subdirectory of a tracked branch). In these cases, 'git svn' will still
  create a Git branch, but instead of using an existing Git commit as the
@@@ -996,12 -982,12 +996,12 @@@ directories in the working copy.  Whil
  copy of a complete repository, for projects with many branches it will
  lead to a working copy many times larger than just the trunk. Thus for
  projects using the standard directory structure (trunk/branches/tags),
- it is recommended to clone with option '--stdlayout'. If the project
+ it is recommended to clone with option `--stdlayout`. If the project
  uses a non-standard structure, and/or if branches and tags are not
  required, it is easiest to only clone one directory (typically trunk),
  without giving any repository layout options.  If the full history with
- branches and tags is required, the options '--trunk' / '--branches' /
'--tags' must be used.
+ branches and tags is required, the options `--trunk` / `--branches` /
`--tags` must be used.
  
  When using multiple --branches or --tags, 'git svn' does not automatically
  handle name collisions (for example, if two branches from different paths have
index 6b89393746af6a4fb21011ea0f4cc758ce2db403,dfd6b27682ff87fcf960a3f6f7dff0051d2b958f..7ecca8e247c57befb08050b66dc07bb9fba9a890
@@@ -78,7 -78,7 +78,7 @@@ OPTION
  
  -v::
  --verify::
 -      Verify the gpg signature of the given tag names.
 +      Verify the GPG signature of the given tag names.
  
  -n<num>::
        <num> specifies how many lines from the annotation, if any,
@@@ -167,7 -167,7 +167,7 @@@ This option is only applicable when lis
  
  --[no-]merged [<commit>]::
        Only list tags whose tips are reachable, or not reachable
-       if '--no-merged' is used, from the specified commit ('HEAD'
+       if `--no-merged` is used, from the specified commit (`HEAD`
        if not specified).
  
  CONFIGURATION
diff --combined Documentation/git.txt
index bb324358742e3aedba35874e687682b3bfd2fcfd,56d579b58371bddcf3303e3574c6d02c0fc18b29..c461701f57d9ce5a63344d55eab73909a708579d
@@@ -31,8 -31,8 +31,8 @@@ page to learn what commands Git offers
  individual Git commands with "git help command".  linkgit:gitcli[7]
  manual page gives you an overview of the command-line command syntax.
  
 -Formatted and hyperlinked version of the latest Git documentation
 -can be viewed at `http://git-htmldocs.googlecode.com/git/git.html`.
 +A formatted and hyperlinked copy of the latest Git documentation
 +can be viewed at `https://git.github.io/htmldocs/git.html`.
  
  ifdef::stalenotes[]
  [NOTE]
@@@ -43,12 -43,6 +43,12 @@@ unreleased) version of Git, that is ava
  branch of the `git.git` repository.
  Documentation for older releases are available here:
  
 +* link:v2.9.1/git.html[documentation for release 2.9.1]
 +
 +* release notes for
 +  link:RelNotes/2.9.1.txt[2.9.1],
 +  link:RelNotes/2.9.0.txt[2.9].
 +
  * link:v2.8.4/git.html[documentation for release 2.8.4]
  
  * release notes for
@@@ -514,7 -508,7 +514,7 @@@ OPTION
  
  --help::
        Prints the synopsis and a list of the most commonly used
-       commands. If the option '--all' or '-a' is given then all
+       commands. If the option `--all` or `-a` is given then all
        available commands are printed. If a Git command is named this
        option will bring up the manual page for that command.
  +
@@@ -856,16 -850,16 +856,16 @@@ Git so take care if using a foreign fro
        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.
+       The `--git-dir` command-line option also sets this value.
  
  `GIT_WORK_TREE`::
        Set the path to the root of the working tree.
-       This can also be controlled by the '--work-tree' command-line
+       This can also be controlled by the `--work-tree` command-line
        option and the core.worktree configuration variable.
  
  `GIT_NAMESPACE`::
        Set the Git namespace; see linkgit:gitnamespaces[7] for details.
-       The '--namespace' command-line option also sets this value.
+       The `--namespace` command-line option also sets this value.
  
  `GIT_CEILING_DIRECTORIES`::
        This should be a colon-separated list of absolute paths.  If
@@@ -980,7 -974,7 +980,7 @@@ othe
        The command will be given exactly two or four arguments: the
        'username@host' (or just 'host') from the URL and the shell
        command to execute on that remote system, optionally preceded by
-       '-p' (literally) and the 'port' from the URL when it specifies
+       `-p` (literally) and the 'port' from the URL when it specifies
        something other than the default SSH port.
  +
  `$GIT_SSH_COMMAND` takes precedence over `$GIT_SSH`, and is interpreted
@@@ -1084,14 -1078,6 +1084,14 @@@ of clones and fetches
        cloning of shallow repositories.
        See `GIT_TRACE` for available trace output options.
  
 +`GIT_TRACE_CURL`::
 +      Enables a curl full trace dump of all incoming and outgoing data,
 +      including descriptive information, of the git transport protocol.
 +      This is similar to doing curl `--trace-ascii` on the command line.
 +      This option overrides setting the `GIT_CURL_VERBOSE` environment
 +      variable.
 +      See `GIT_TRACE` for available trace output options.
 +
  `GIT_LITERAL_PATHSPECS`::
        Setting this variable to `1` will cause Git to treat all
        pathspecs literally, rather than as glob patterns. For example,