config.txt: move pretty.* to a separate file
[gitweb.git] / Documentation / config.txt
index 585d55d03ddec2fd351629f8cb17d03e72f1791f..d55776c383740c8f0d30070cc9ace096ad5298e9 100644 (file)
@@ -367,290 +367,21 @@ include::config/log.txt[]
 
 include::config/mailinfo.txt[]
 
-mailmap.file::
-       The location of an augmenting mailmap file. The default
-       mailmap, located in the root of the repository, is loaded
-       first, then the mailmap file pointed to by this variable.
-       The location of the mailmap file may be in a repository
-       subdirectory, or somewhere outside of the repository itself.
-       See linkgit:git-shortlog[1] and linkgit:git-blame[1].
-
-mailmap.blob::
-       Like `mailmap.file`, but consider the value as a reference to a
-       blob in the repository. If both `mailmap.file` and
-       `mailmap.blob` are given, both are parsed, with entries from
-       `mailmap.file` taking precedence. In a bare repository, this
-       defaults to `HEAD:.mailmap`. In a non-bare repository, it
-       defaults to empty.
-
-man.viewer::
-       Specify the programs that may be used to display help in the
-       'man' format. See linkgit:git-help[1].
-
-man.<tool>.cmd::
-       Specify the command to invoke the specified man viewer. The
-       specified command is evaluated in shell with the man page
-       passed as argument. (See linkgit:git-help[1].)
-
-man.<tool>.path::
-       Override the path for the given tool that may be used to
-       display help in the 'man' format. See linkgit:git-help[1].
-
-include::merge-config.txt[]
-
-mergetool.<tool>.path::
-       Override the path for the given tool.  This is useful in case
-       your tool is not in the PATH.
-
-mergetool.<tool>.cmd::
-       Specify the command to invoke the specified merge tool.  The
-       specified command is evaluated in shell with the following
-       variables available: 'BASE' is the name of a temporary file
-       containing the common base of the files to be merged, if available;
-       'LOCAL' is the name of a temporary file containing the contents of
-       the file on the current branch; 'REMOTE' is the name of a temporary
-       file containing the contents of the file from the branch being
-       merged; 'MERGED' contains the name of the file to which the merge
-       tool should write the results of a successful merge.
-
-mergetool.<tool>.trustExitCode::
-       For a custom merge command, specify whether the exit code of
-       the merge command can be used to determine whether the merge was
-       successful.  If this is not set to true then the merge target file
-       timestamp is checked and the merge assumed to have been successful
-       if the file has been updated, otherwise the user is prompted to
-       indicate the success of the merge.
-
-mergetool.meld.hasOutput::
-       Older versions of `meld` do not support the `--output` option.
-       Git will attempt to detect whether `meld` supports `--output`
-       by inspecting the output of `meld --help`.  Configuring
-       `mergetool.meld.hasOutput` will make Git skip these checks and
-       use the configured value instead.  Setting `mergetool.meld.hasOutput`
-       to `true` tells Git to unconditionally use the `--output` option,
-       and `false` avoids using `--output`.
-
-mergetool.keepBackup::
-       After performing a merge, the original file with conflict markers
-       can be saved as a file with a `.orig` extension.  If this variable
-       is set to `false` then this file is not preserved.  Defaults to
-       `true` (i.e. keep the backup files).
-
-mergetool.keepTemporaries::
-       When invoking a custom merge tool, Git uses a set of temporary
-       files to pass to the tool. If the tool returns an error and this
-       variable is set to `true`, then these temporary files will be
-       preserved, otherwise they will be removed after the tool has
-       exited. Defaults to `false`.
-
-mergetool.writeToTemp::
-       Git writes temporary 'BASE', 'LOCAL', and 'REMOTE' versions of
-       conflicting files in the worktree by default.  Git will attempt
-       to use a temporary directory for these files when set `true`.
-       Defaults to `false`.
+include::config/mailmap.txt[]
 
-mergetool.prompt::
-       Prompt before each invocation of the merge resolution program.
-
-notes.mergeStrategy::
-       Which merge strategy to choose by default when resolving notes
-       conflicts.  Must be one of `manual`, `ours`, `theirs`, `union`, or
-       `cat_sort_uniq`.  Defaults to `manual`.  See "NOTES MERGE STRATEGIES"
-       section of linkgit:git-notes[1] for more information on each strategy.
-
-notes.<name>.mergeStrategy::
-       Which merge strategy to choose when doing a notes merge into
-       refs/notes/<name>.  This overrides the more general
-       "notes.mergeStrategy".  See the "NOTES MERGE STRATEGIES" section in
-       linkgit:git-notes[1] for more information on the available strategies.
-
-notes.displayRef::
-       The (fully qualified) refname from which to show notes when
-       showing commit messages.  The value of this variable can be set
-       to a glob, in which case notes from all matching refs will be
-       shown.  You may also specify this configuration variable
-       several times.  A warning will be issued for refs that do not
-       exist, but a glob that does not match any refs is silently
-       ignored.
-+
-This setting can be overridden with the `GIT_NOTES_DISPLAY_REF`
-environment variable, which must be a colon separated list of refs or
-globs.
-+
-The effective value of "core.notesRef" (possibly overridden by
-GIT_NOTES_REF) is also implicitly added to the list of refs to be
-displayed.
-
-notes.rewrite.<command>::
-       When rewriting commits with <command> (currently `amend` or
-       `rebase`) and this variable is set to `true`, Git
-       automatically copies your notes from the original to the
-       rewritten commit.  Defaults to `true`, but see
-       "notes.rewriteRef" below.
-
-notes.rewriteMode::
-       When copying notes during a rewrite (see the
-       "notes.rewrite.<command>" option), determines what to do if
-       the target commit already has a note.  Must be one of
-       `overwrite`, `concatenate`, `cat_sort_uniq`, or `ignore`.
-       Defaults to `concatenate`.
-+
-This setting can be overridden with the `GIT_NOTES_REWRITE_MODE`
-environment variable.
-
-notes.rewriteRef::
-       When copying notes during a rewrite, specifies the (fully
-       qualified) ref whose notes should be copied.  The ref may be a
-       glob, in which case notes in all matching refs will be copied.
-       You may also specify this configuration several times.
-+
-Does not have a default value; you must configure this variable to
-enable note rewriting.  Set it to `refs/notes/commits` to enable
-rewriting for the default commit notes.
-+
-This setting can be overridden with the `GIT_NOTES_REWRITE_REF`
-environment variable, which must be a colon separated list of refs or
-globs.
-
-pack.window::
-       The size of the window used by linkgit:git-pack-objects[1] when no
-       window size is given on the command line. Defaults to 10.
-
-pack.depth::
-       The maximum delta depth used by linkgit:git-pack-objects[1] when no
-       maximum depth is given on the command line. Defaults to 50.
-       Maximum value is 4095.
-
-pack.windowMemory::
-       The maximum size of memory that is consumed by each thread
-       in linkgit:git-pack-objects[1] for pack window memory when
-       no limit is given on the command line.  The value can be
-       suffixed with "k", "m", or "g".  When left unconfigured (or
-       set explicitly to 0), there will be no limit.
-
-pack.compression::
-       An integer -1..9, indicating the compression level for objects
-       in a pack file. -1 is the zlib default. 0 means no
-       compression, and 1..9 are various speed/size tradeoffs, 9 being
-       slowest.  If not set,  defaults to core.compression.  If that is
-       not set,  defaults to -1, the zlib default, which is "a default
-       compromise between speed and compression (currently equivalent
-       to level 6)."
-+
-Note that changing the compression level will not automatically recompress
-all existing objects. You can force recompression by passing the -F option
-to linkgit:git-repack[1].
-
-pack.island::
-       An extended regular expression configuring a set of delta
-       islands. See "DELTA ISLANDS" in linkgit:git-pack-objects[1]
-       for details.
-
-pack.islandCore::
-       Specify an island name which gets to have its objects be
-       packed first. This creates a kind of pseudo-pack at the front
-       of one pack, so that the objects from the specified island are
-       hopefully faster to copy into any pack that should be served
-       to a user requesting these objects. In practice this means
-       that the island specified should likely correspond to what is
-       the most commonly cloned in the repo. See also "DELTA ISLANDS"
-       in linkgit:git-pack-objects[1].
-
-pack.deltaCacheSize::
-       The maximum memory in bytes used for caching deltas in
-       linkgit:git-pack-objects[1] before writing them out to a pack.
-       This cache is used to speed up the writing object phase by not
-       having to recompute the final delta result once the best match
-       for all objects is found.  Repacking large repositories on machines
-       which are tight with memory might be badly impacted by this though,
-       especially if this cache pushes the system into swapping.
-       A value of 0 means no limit. The smallest size of 1 byte may be
-       used to virtually disable this cache. Defaults to 256 MiB.
-
-pack.deltaCacheLimit::
-       The maximum size of a delta, that is cached in
-       linkgit:git-pack-objects[1]. This cache is used to speed up the
-       writing object phase by not having to recompute the final delta
-       result once the best match for all objects is found.
-       Defaults to 1000. Maximum value is 65535.
-
-pack.threads::
-       Specifies the number of threads to spawn when searching for best
-       delta matches.  This requires that linkgit:git-pack-objects[1]
-       be compiled with pthreads otherwise this option is ignored with a
-       warning. This is meant to reduce packing time on multiprocessor
-       machines. The required amount of memory for the delta search window
-       is however multiplied by the number of threads.
-       Specifying 0 will cause Git to auto-detect the number of CPU's
-       and set the number of threads accordingly.
-
-pack.indexVersion::
-       Specify the default pack index version.  Valid values are 1 for
-       legacy pack index used by Git versions prior to 1.5.2, and 2 for
-       the new pack index with capabilities for packs larger than 4 GB
-       as well as proper protection against the repacking of corrupted
-       packs.  Version 2 is the default.  Note that version 2 is enforced
-       and this config option ignored whenever the corresponding pack is
-       larger than 2 GB.
-+
-If you have an old Git that does not understand the version 2 `*.idx` file,
-cloning or fetching over a non native protocol (e.g. "http")
-that will copy both `*.pack` file and corresponding `*.idx` file from the
-other side may give you a repository that cannot be accessed with your
-older version of Git. If the `*.pack` file is smaller than 2 GB, however,
-you can use linkgit:git-index-pack[1] on the *.pack file to regenerate
-the `*.idx` file.
-
-pack.packSizeLimit::
-       The maximum size of a pack.  This setting only affects
-       packing to a file when repacking, i.e. the git:// protocol
-       is unaffected.  It can be overridden by the `--max-pack-size`
-       option of linkgit:git-repack[1].  Reaching this limit results
-       in the creation of multiple packfiles; which in turn prevents
-       bitmaps from being created.
-       The minimum size allowed is limited to 1 MiB.
-       The default is unlimited.
-       Common unit suffixes of 'k', 'm', or 'g' are
-       supported.
-
-pack.useBitmaps::
-       When true, git will use pack bitmaps (if available) when packing
-       to stdout (e.g., during the server side of a fetch). Defaults to
-       true. You should not generally need to turn this off unless
-       you are debugging pack bitmaps.
-
-pack.writeBitmaps (deprecated)::
-       This is a deprecated synonym for `repack.writeBitmaps`.
-
-pack.writeBitmapHashCache::
-       When true, git will include a "hash cache" section in the bitmap
-       index (if one is written). This cache can be used to feed git's
-       delta heuristics, potentially leading to better deltas between
-       bitmapped and non-bitmapped objects (e.g., when serving a fetch
-       between an older, bitmapped pack and objects that have been
-       pushed since the last gc). The downside is that it consumes 4
-       bytes per object of disk space, and that JGit's bitmap
-       implementation does not understand it, causing it to complain if
-       Git and JGit are used on the same repository. Defaults to false.
-
-pager.<cmd>::
-       If the value is boolean, turns on or off pagination of the
-       output of a particular Git subcommand when writing to a tty.
-       Otherwise, turns on pagination for the subcommand using the
-       pager specified by the value of `pager.<cmd>`.  If `--paginate`
-       or `--no-pager` is specified on the command line, it takes
-       precedence over this option.  To disable pagination for all
-       commands, set `core.pager` or `GIT_PAGER` to `cat`.
-
-pretty.<name>::
-       Alias for a --pretty= format string, as specified in
-       linkgit:git-log[1]. Any aliases defined here can be used just
-       as the built-in pretty formats could. For example,
-       running `git config pretty.changelog "format:* %H %s"`
-       would cause the invocation `git log --pretty=changelog`
-       to be equivalent to running `git log "--pretty=format:* %H %s"`.
-       Note that an alias with the same name as a built-in format
-       will be silently ignored.
+include::config/man.txt[]
+
+include::config/merge.txt[]
+
+include::config/mergetool.txt[]
+
+include::config/notes.txt[]
+
+include::config/pack.txt[]
+
+include::config/pager.txt[]
+
+include::config/pretty.txt[]
 
 protocol.allow::
        If set, provide a user defined default policy for all protocols which