From ba8baee8618696a4405a1c7feb93ce8d3b089795 Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Wed, 14 Sep 2022 13:25:23 -0700 Subject: Autogenerated HTML docs for v2.37.3-662-g36f8e7e --- RelNotes/2.38.0.txt | 11 + git-add.html | 37 +- git-add.txt | 7 + git-am.html | 37 +- git-am.txt | 7 + git-apply.html | 18 +- git-apply.txt | 10 +- git-blame.html | 90 +++- git-blame.txt | 6 + git-branch.html | 152 ++++++- git-branch.txt | 4 + git-checkout.html | 75 +++- git-checkout.txt | 7 + git-clean.html | 21 +- git-clean.txt | 7 + git-clone.html | 59 ++- git-clone.txt | 9 + git-column.html | 144 +++++- git-column.txt | 7 + git-commit-graph.html | 42 +- git-commit-graph.txt | 7 + git-commit.html | 61 ++- git-commit.txt | 4 + git-config.html | 204 ++++++--- git-diff.html | 651 +++++++++++++++++++++++++++- git-diff.txt | 7 + git-difftool.html | 47 +- git-difftool.txt | 27 +- git-fast-import.html | 26 +- git-fast-import.txt | 7 + git-fetch.html | 168 ++++++- git-fetch.txt | 7 + git-fsck.html | 5 +- git-fsck.txt | 2 + git-gc.html | 7 +- git-gc.txt | 3 +- git-grep.html | 8 +- git-grep.txt | 29 +- git-imap-send.html | 5 +- git-imap-send.txt | 2 + git-init.html | 30 +- git-init.txt | 7 + git-log.html | 187 +++++++- git-log.txt | 46 +- git-mailinfo.html | 24 +- git-mailinfo.txt | 7 + git-maintenance.html | 117 ++++- git-maintenance.txt | 7 + git-merge.html | 27 +- git-merge.txt | 5 +- git-mergetool.html | 5 +- git-mergetool.txt | 3 + git-notes.html | 54 ++- git-notes.txt | 55 +-- git-push.html | 214 ++++++++- git-push.txt | 7 + git-rebase.html | 5 +- git-rebase.txt | 2 + git-revert.html | 21 +- git-revert.txt | 7 + git-send-email.html | 175 +++++++- git-send-email.txt | 36 +- git-show-branch.html | 21 +- git-show-branch.txt | 7 + git-stash.html | 42 +- git-stash.txt | 7 + git-switch.html | 75 +++- git-switch.txt | 7 + howto/coordinate-embargoed-releases.html | 2 +- howto/keep-canonical-history-correct.html | 2 +- howto/maintain-git.html | 2 +- howto/new-command.html | 2 +- howto/rebase-from-internal-branch.html | 2 +- howto/rebuild-from-update-hook.html | 2 +- howto/recover-corrupted-blob-object.html | 2 +- howto/recover-corrupted-object-harder.html | 2 +- howto/revert-a-faulty-merge.html | 2 +- howto/revert-branch-rebase.html | 2 +- howto/separating-topic-branches.html | 2 +- howto/setup-git-server-over-http.html | 2 +- howto/update-hook-example.html | 2 +- howto/use-git-daemon.html | 2 +- howto/using-merge-subtree.html | 2 +- howto/using-signed-tag-in-pull-request.html | 2 +- 84 files changed, 2892 insertions(+), 367 deletions(-) diff --git a/RelNotes/2.38.0.txt b/RelNotes/2.38.0.txt index 311d9224c..fe04b31b6 100644 --- a/RelNotes/2.38.0.txt +++ b/RelNotes/2.38.0.txt @@ -165,6 +165,13 @@ Performance, Internal Implementation, Development Support etc. request has been optimized by allowing it to send objects in its object store without recomputing and validating the object names. + * Annotate function parameters that are not used (but cannot be + removed for structural reasons), to prepare us to later compile + with -Wunused warning turned on. + + * Share the text used to explain configuration variables used by "git + " in "git help " with the text from "git help config". + Fixes since v2.37 ----------------- @@ -367,6 +374,10 @@ Fixes since v2.37 rev-parse" has been updated to diagnose a bogus input correctly. (merge f20b9c36d0 ow/rev-parse-parseopt-fix later to maint). + * The code that manages list-object-filter structure, used in partial + clones, leaked the instances, which has been plugged. + (merge 66eede4a37 jk/plug-list-object-filter-leaks later to maint). + * Other code cleanup, docfix, build fix, etc. (merge 77b9e85c0f vd/fix-perf-tests later to maint). (merge 0682bc43f5 jk/test-crontab-fixes later to maint). diff --git a/git-add.html b/git-add.html index 33c9770e9..2e57f689e 100644 --- a/git-add.html +++ b/git-add.html @@ -1368,6 +1368,41 @@ modifying the contents of context or removal lines
+

CONFIGURATION

+
+

Everything below this line in this section is selectively included +from the git-config(1) documentation. The content is the same +as what’s found there:

+
+
+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 + option of git-add(1). add.ignore-errors is deprecated, + as it does not follow the usual naming convention for configuration + variables. +

+
+
+add.interactive.useBuiltin +
+
+

+ Set to false to fall back to the original Perl implementation of + the interactive version of git-add(1) instead of the built-in + version. Is true by default. +

+
+
+
+
+

SEE ALSO

git-status(1) @@ -1389,7 +1424,7 @@ modifying the contents of context or removal lines

diff --git a/git-add.txt b/git-add.txt index 9b37f3565..a030d33c6 100644 --- a/git-add.txt +++ b/git-add.txt @@ -433,6 +433,13 @@ they will make the patch impossible to apply: * deleting context or removal lines * modifying the contents of context or removal lines +CONFIGURATION +------------- + +include::includes/cmd-config-section-all.txt[] + +include::config/add.txt[] + SEE ALSO -------- linkgit:git-status[1] diff --git a/git-am.html b/git-am.html index 80551be05..452d93395 100644 --- a/git-am.html +++ b/git-am.html @@ -1222,6 +1222,41 @@ information.

+

CONFIGURATION

+
+

Everything below this line in this section is selectively included +from the git-config(1) documentation. The content is the same +as what’s found there:

+
+
+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 + not remove \r from lines ending with \r\n. Can be overridden + by giving --no-keep-cr from the command line. + See git-am(1), git-mailsplit(1). +

+
+
+am.threeWay +
+
+

+ By default, git am will fail if the patch does not apply cleanly. When + set to true, this setting tells git am to fall back on 3-way merge if + the patch records the identity of blobs it is supposed to apply to and + we have those blobs available locally (equivalent to giving the --3way + option from the command line). Defaults to false. + See git-am(1). +

+
+
+
+
+

SEE ALSO

@@ -1238,7 +1273,7 @@ information.

diff --git a/git-am.txt b/git-am.txt index 320da6c4f..326276e51 100644 --- a/git-am.txt +++ b/git-am.txt @@ -258,6 +258,13 @@ This command can run `applypatch-msg`, `pre-applypatch`, and `post-applypatch` hooks. See linkgit:githooks[5] for more information. +CONFIGURATION +------------- + +include::includes/cmd-config-section-all.txt[] + +include::config/am.txt[] + SEE ALSO -------- linkgit:git-apply[1]. diff --git a/git-apply.html b/git-apply.html index d83172a4e..189a2673c 100644 --- a/git-apply.html +++ b/git-apply.html @@ -1187,15 +1187,21 @@ has no effect when --index or --cached is in use.

<

CONFIGURATION

+

Everything below this line in this section is selectively included +from the git-config(1) documentation. The content is the same +as what’s found there:

apply.ignoreWhitespace

- Set to change if you want changes in whitespace to be ignored by default. - Set to one of: no, none, never, false if you want changes in - whitespace to be significant. + When set to change, tells git apply to ignore changes in + 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. + See git-apply(1).

@@ -1203,8 +1209,8 @@ apply.whitespace

- When no --whitespace flag is given from the command - line, this configuration item is used as the default. + Tells git apply how to handle whitespaces, in the same way + as the --whitespace option. See git-apply(1).

@@ -1242,7 +1248,7 @@ subdirectory is checked and (if possible) updated.

diff --git a/git-apply.txt b/git-apply.txt index b6d77f420..1d478cbe9 100644 --- a/git-apply.txt +++ b/git-apply.txt @@ -263,13 +263,9 @@ has no effect when `--index` or `--cached` is in use. CONFIGURATION ------------- -apply.ignoreWhitespace:: - Set to 'change' if you want changes in whitespace to be ignored by default. - Set to one of: no, none, never, false if you want changes in - whitespace to be significant. -apply.whitespace:: - When no `--whitespace` flag is given from the command - line, this configuration item is used as the default. +include::includes/cmd-config-section-all.txt[] + +include::config/apply.txt[] SUBMODULES ---------- diff --git a/git-blame.html b/git-blame.html index 72ae5aa03..cb1eca644 100644 --- a/git-blame.html +++ b/git-blame.html @@ -1396,6 +1396,94 @@ commit commentary), a blame viewer will not care.
+

CONFIGURATION

+
+

Everything below this line in this section is selectively included +from the git-config(1) documentation. The content is the same +as what’s found there:

+
+
+blame.blankBoundary +
+
+

+ Show blank commit object name for boundary commits in + git-blame(1). This option defaults to false. +

+
+
+blame.coloring +
+
+

+ This determines the coloring scheme to be applied to blame + output. It can be repeatedLines, highlightRecent, + or none which is the default. +

+
+
+blame.date +
+
+

+ Specifies the format used to output dates in git-blame(1). + If unset the iso format is used. For supported values, + see the discussion of the --date option at git-log(1). +

+
+
+blame.showEmail +
+
+

+ Show the author email instead of author name in git-blame(1). + This option defaults to false. +

+
+
+blame.showRoot +
+
+

+ Do not treat root commits as boundaries in git-blame(1). + This option defaults to false. +

+
+
+blame.ignoreRevsFile +
+
+

+ Ignore revisions listed in the file, one unabbreviated object name per + line, in git-blame(1). Whitespace and comments beginning with + # are ignored. This option may be repeated multiple times. Empty + file names will reset the list of ignored revisions. This option will + be handled before the command line option --ignore-revs-file. +

+
+
+blame.markUnblamableLines +
+
+

+ Mark lines that were changed by an ignored revision that we could not + attribute to another commit with a * in the output of + git-blame(1). +

+
+
+blame.markIgnoredLines +
+
+

+ Mark lines that were changed by an ignored revision that we attributed to + another commit with a ? in the output of git-blame(1). +

+
+
+
+
+

SEE ALSO

@@ -1412,7 +1500,7 @@ commit commentary), a blame viewer will not care. diff --git a/git-blame.txt b/git-blame.txt index d7a46cc67..4400a1733 100644 --- a/git-blame.txt +++ b/git-blame.txt @@ -241,6 +241,12 @@ MAPPING AUTHORS See linkgit:gitmailmap[5]. +CONFIGURATION +------------- + +include::includes/cmd-config-section-all.txt[] + +include::config/blame.txt[] SEE ALSO -------- diff --git a/git-branch.html b/git-branch.html index 4287ff279..7321da0be 100644 --- a/git-branch.html +++ b/git-branch.html @@ -1286,6 +1286,156 @@ superproject’s "origin/main", but tracks the submodule’s "origin/mai

pager.branch is only respected when listing branches, i.e., when --list is used or implied. The default is to use a pager. See git-config(1).

+

Everything above this line in this section isn’t included from the +git-config(1) documentation. The content that follows is the +same as what’s found there:

+
+
+branch.autoSetupMerge +
+
+

+ Tells git branch, git switch and git checkout to set up new branches + so that git-pull(1) will appropriately merge from the + starting point branch. Note that even if this option is not set, + this behavior can be chosen per-branch using the --track + and --no-track options. The valid settings are: false — no + automatic setup is done; true — automatic setup is done when the + starting point is a remote-tracking branch; always —  automatic setup is done when the starting point is either a + local branch or remote-tracking branch; inherit — if the starting point + has a tracking configuration, it is copied to the new + branch; simple — automatic setup is done only when the starting point + is a remote-tracking branch and the new branch has the same name as the + remote branch. This option defaults to true. +

+
+
+branch.autoSetupRebase +
+
+

+ When a new branch is created with git branch, git switch or git checkout + that tracks another branch, this variable tells Git to set + up pull to rebase instead of merge (see "branch.<name>.rebase"). + When never, rebase is never automatically set to true. + When local, rebase is set to true for tracked branches of + other local branches. + When remote, rebase is set to true for tracked branches of + remote-tracking branches. + When always, rebase will be set to true for all tracking + branches. + See "branch.autoSetupMerge" for details on how to set up a + branch to track another branch. + This option defaults to never. +

+
+
+branch.sort +
+
+

+ This variable controls the sort ordering of branches when displayed by + git-branch(1). Without the "--sort=<value>" option provided, the + value of this variable will be used as the default. + See git-for-each-ref(1) field names for valid values. +

+
+
+branch.<name>.remote +
+
+

+ When on branch <name>, it tells git fetch and git push + which remote to fetch from/push to. The remote to push to + may be overridden with remote.pushDefault (for all branches). + The remote to push to, for the current branch, may be further + overridden by branch.<name>.pushRemote. If no remote is + configured, or if you are not on any branch and there is more than + one remote defined in the repository, it defaults to origin for + fetching and remote.pushDefault for pushing. + Additionally, . (a period) is the current local repository + (a dot-repository), see branch.<name>.merge's final note below. +

+
+
+branch.<name>.pushRemote +
+
+

+ When on branch <name>, it overrides branch.<name>.remote for + pushing. It also overrides remote.pushDefault for pushing + from branch <name>. When you pull from one place (e.g. your + upstream) and push to another place (e.g. your own publishing + repository), you would want to set remote.pushDefault to + specify the remote to push to for all branches, and use this + option to override it for a specific branch. +

+
+
+branch.<name>.merge +
+
+

+ Defines, together with branch.<name>.remote, the upstream branch + for the given branch. It tells git fetch/git pull/git rebase which + branch to merge and can also affect git push (see push.default). + When in branch <name>, it tells git fetch the default + refspec to be marked for merging in FETCH_HEAD. The value is + handled like the remote part of a refspec, and must match a + ref which is fetched from the remote given by + "branch.<name>.remote". + The merge information is used by git pull (which at first calls + git fetch) to lookup the default branch for merging. Without + this option, git pull defaults to merge the first refspec fetched. + Specify multiple values to get an octopus merge. + If you wish to setup git pull so that it merges into <name> from + another branch in the local repository, you can point + branch.<name>.merge to the desired branch, and use the relative path + setting . (a period) for branch.<name>.remote. +

+
+
+branch.<name>.mergeOptions +
+
+

+ Sets default options for merging into branch <name>. The syntax and + supported options are the same as those of git-merge(1), but + option values containing whitespace characters are currently not + supported. +

+
+
+branch.<name>.rebase +
+
+

+ When true, rebase the branch <name> on top of the fetched branch, + instead of merging the default branch from the default remote when + "git pull" is run. See "pull.rebase" for doing this in a non + branch-specific manner. +

+

When merges (or just m), pass the --rebase-merges option to git rebase +so that the local merge commits are included in the rebase (see +git-rebase(1) for details).

+

When the value is interactive (or just i), the rebase is run in interactive +mode.

+

NOTE: this is a possibly dangerous operation; do not use +it unless you understand the implications (see git-rebase(1) +for details).

+
+
+branch.<name>.description +
+
+

+ Branch description, can be edited with + git branch --edit-description. Branch description is + automatically added in the format-patch cover letter or + request-pull summary. +

+
+
@@ -1430,7 +1580,7 @@ a branch?” in the Git User’s Manual.

diff --git a/git-branch.txt b/git-branch.txt index ae8237834..12c5f84e3 100644 --- a/git-branch.txt +++ b/git-branch.txt @@ -336,6 +336,10 @@ CONFIGURATION `--list` is used or implied. The default is to use a pager. See linkgit:git-config[1]. +include::includes/cmd-config-section-rest.txt[] + +include::config/branch.txt[] + EXAMPLES -------- diff --git a/git-checkout.html b/git-checkout.html index e93d16757..397de991f 100644 --- a/git-checkout.html +++ b/git-checkout.html @@ -1543,6 +1543,79 @@ $ git add frotz
+

CONFIGURATION

+
+

Everything below this line in this section is selectively included +from the git-config(1) documentation. The content is the same +as what’s found there:

+
+
+checkout.defaultRemote +
+
+

+ When you run git checkout <something> + or git switch <something> and only have one + remote, it may implicitly fall back on checking out and + tracking e.g. origin/<something>. This stops working as soon + as you have more than one remote with a <something> + reference. This setting allows for setting the name of a + preferred remote that should always win when it comes to + disambiguation. The typical use-case is to set this to + origin. +

+

Currently this is used by git-switch(1) and +git-checkout(1) when git checkout <something> +or git switch <something> +will checkout the <something> branch on another remote, +and by git-worktree(1) when git worktree add refers to a +remote branch. This setting might be used for other checkout-like +commands or functionality in the future.

+
+
+checkout.guess +
+
+

+ Provides the default value for the --guess or --no-guess + option in git checkout and git switch. See + git-switch(1) and git-checkout(1). +

+
+
+checkout.workers +
+
+

+ The number of parallel workers to use when updating the working tree. + The default is one, i.e. sequential execution. If set to a value less + than one, Git will use as many workers as the number of logical cores + available. This setting and checkout.thresholdForParallelism affect + all commands that perform checkout. E.g. checkout, clone, reset, + sparse-checkout, etc. +

+

Note: parallel checkout usually delivers better performance for repositories +located on SSDs or over NFS. For repositories on spinning disks and/or machines +with a small number of cores, the default sequential checkout often performs +better. The size and compression level of a repository might also influence how +well the parallel version performs.

+
+
+checkout.thresholdForParallelism +
+
+

+ When running parallel checkout with a small number of files, the cost + of subprocess spawning and inter-process communication might outweigh + the parallelization gains. This setting allows to define the minimum + number of files for which parallel checkout should be attempted. The + default is 100. +

+
+
+
+
+

SEE ALSO

git-switch(1), @@ -1560,7 +1633,7 @@ $ git add frotz

diff --git a/git-checkout.txt b/git-checkout.txt index 9f37e22e1..4cb9d555b 100644 --- a/git-checkout.txt +++ b/git-checkout.txt @@ -600,6 +600,13 @@ $ edit frotz $ git add frotz ------------ +CONFIGURATION +------------- + +include::includes/cmd-config-section-all.txt[] + +include::config/checkout.txt[] + SEE ALSO -------- linkgit:git-switch[1], diff --git a/git-clean.html b/git-clean.html index e8f1b908b..7fdfbdc21 100644 --- a/git-clean.html +++ b/git-clean.html @@ -957,6 +957,25 @@ help
+

CONFIGURATION

+
+

Everything below this line in this section is selectively included +from the git-config(1) documentation. The content is the same +as what’s found there:

+
+
+clean.requireForce +
+
+

+ A boolean to make git-clean do nothing unless given -f, + -i or -n. Defaults to true. +

+
+
+
+
+

SEE ALSO

@@ -973,7 +992,7 @@ help diff --git a/git-clean.txt b/git-clean.txt index a7f309dff..91742633f 100644 --- a/git-clean.txt +++ b/git-clean.txt @@ -133,6 +133,13 @@ help:: Show brief usage of interactive git-clean. +CONFIGURATION +------------- + +include::includes/cmd-config-section-all.txt[] + +include::config/clean.txt[] + SEE ALSO -------- linkgit:gitignore[5] diff --git a/git-clone.html b/git-clone.html index 36ef0a7bd..8f6f3210e 100644 --- a/git-clone.html +++ b/git-clone.html @@ -1442,6 +1442,63 @@ Create a bare repository to publish your changes to the public:
+

CONFIGURATION

+
+

Everything below this line in this section is selectively included +from the git-config(1) documentation. The content is the same +as what’s found there:

+
+
+init.templateDir +
+
+

+ Specify the directory from which templates will be copied. + (See the "TEMPLATE DIRECTORY" section of git-init(1).) +

+
+
+init.defaultBranch +
+
+

+ Allows overriding the default branch name e.g. when initializing + a new repository. +

+
+
+clone.defaultRemoteName +
+
+

+ The name of the remote to create when cloning a repository. Defaults to + origin, and can be overridden by passing the --origin command-line + option to git-clone(1). +

+
+
+clone.rejectShallow +
+
+

+ Reject to clone a repository if it is a shallow one, can be overridden by + passing option --reject-shallow in command line. See git-clone(1) +

+
+
+clone.filterSubmodules +
+
+

+ If a partial clone filter is provided (see --filter in + git-rev-list(1)) and --recurse-submodules is used, also apply + the filter to submodules. +

+
+
+
+
+

GIT

Part of the git(1) suite

@@ -1452,7 +1509,7 @@ Create a bare repository to publish your changes to the public: diff --git a/git-clone.txt b/git-clone.txt index d032d971d..d6434d262 100644 --- a/git-clone.txt +++ b/git-clone.txt @@ -370,6 +370,15 @@ $ cd my-linux $ git clone --bare -l /home/proj/.git /pub/scm/proj.git ------------ +CONFIGURATION +------------- + +include::includes/cmd-config-section-all.txt[] + +include::config/init.txt[] + +include::config/clone.txt[] + GIT --- diff --git a/git-column.html b/git-column.html index e73477b74..42b82bcce 100644 --- a/git-column.html +++ b/git-column.html @@ -863,6 +863,148 @@ v2.4.8 v2.4.9
+

CONFIGURATION

+
+

Everything below this line in this section is selectively included +from the git-config(1) documentation. The content is the same +as what’s found there:

+
+
+column.ui +
+
+

+ Specify whether supported commands should output in columns. + This variable consists of a list of tokens separated by spaces + or commas: +

+

These options control when the feature should be enabled +(defaults to never):

+
+
+
+
+always +
+
+

+ always show in columns +

+
+
+never +
+
+

+ never show in columns +

+
+
+auto +
+
+

+ show in columns if the output is to the terminal +

+
+
+
+

These options control layout (defaults to column). Setting any +of these implies always if none of always, never, or auto are +specified.

+
+
+
+
+column +
+
+

+ fill columns before rows +

+
+
+row +
+
+

+ fill rows before columns +

+
+
+plain +
+
+

+ show in one column +

+
+
+
+

Finally, these options can be combined with a layout option (defaults +to nodense):

+
+
+
+
+dense +
+
+

+ make unequal size columns to utilize more space +

+
+
+nodense +
+
+

+ make equal size columns +

+
+
+
+
+
+column.branch +
+
+

+ Specify whether to output branch listing in git branch in columns. + See column.ui for details. +

+
+
+column.clean +
+
+

+ Specify the layout when list items in git clean -i, which always + shows files and directories in columns. See column.ui for details. +

+
+
+column.status +
+
+

+ Specify whether to output untracked files in git status in columns. + See column.ui for details. +

+
+
+column.tag +
+
+

+ Specify whether to output tag listing in git tag in columns. + See column.ui for details. +

+
+
+
+
+

GIT

Part of the git(1) suite

@@ -873,7 +1015,7 @@ v2.4.8 v2.4.9 diff --git a/git-column.txt b/git-column.txt index 6cea9ab46..18431647a 100644 --- a/git-column.txt +++ b/git-column.txt @@ -74,6 +74,13 @@ v2.4.3 v2.4.4 v2.4.5 v2.4.6 v2.4.7 v2.4.8 v2.4.9 ------------ +CONFIGURATION +------------- + +include::includes/cmd-config-section-all.txt[] + +include::config/column.txt[] + GIT --- Part of the linkgit:git[1] suite diff --git a/git-commit-graph.html b/git-commit-graph.html index 6d6c4192c..baa3342d2 100644 --- a/git-commit-graph.html +++ b/git-commit-graph.html @@ -930,6 +930,46 @@ Write a commit-graph file containing all commits in the current
+

CONFIGURATION

+
+

Everything below this line in this section is selectively included +from the git-config(1) documentation. The content is the same +as what’s found there:

+
+
+commitGraph.generationVersion +
+
+

+ Specifies the type of generation number version to use when writing + or reading the commit-graph file. If version 1 is specified, then + the corrected commit dates will not be written or read. Defaults to + 2. +

+
+
+commitGraph.maxNewFilters +
+
+

+ Specifies the default value for the --max-new-filters option of git + commit-graph write (c.f., git-commit-graph(1)). +

+
+
+commitGraph.readChangedPaths +
+
+

+ If true, then git will use the changed-path Bloom filters in the + commit-graph file (if it exists, and they are present). Defaults to + true. See git-commit-graph(1) for more information. +

+
+
+
+
+

FILE FORMAT

@@ -946,7 +986,7 @@ Write a commit-graph file containing all commits in the current diff --git a/git-commit-graph.txt b/git-commit-graph.txt index 047decdb6..36fe56c2c 100644 --- a/git-commit-graph.txt +++ b/git-commit-graph.txt @@ -142,6 +142,13 @@ $ git show-ref -s | git commit-graph write --stdin-commits $ git rev-parse HEAD | git commit-graph write --stdin-commits --append ------------------------------------------------ +CONFIGURATION +------------- + +include::includes/cmd-config-section-all.txt[] + +include::config/commitgraph.txt[] + FILE FORMAT ----------- diff --git a/git-commit.html b/git-commit.html index 4a1d78b01..db1e2e4a8 100644 --- a/git-commit.html +++ b/git-commit.html @@ -1731,6 +1731,65 @@ reversible operation.

GIT_EDITOR environment variable, the core.editor configuration variable, the VISUAL environment variable, or the EDITOR environment variable (in that order). See git-var(1) for details.

+

Everything above this line in this section isn’t included from the +git-config(1) documentation. The content that follows is the +same as what’s found there:

+
+
+commit.cleanup +
+
+

+ This setting overrides the default of the --cleanup option in + git commit. See git-commit(1) for details. Changing the + default can be useful when you always want to keep lines that begin + with comment character # in your log message, in which case you + would do git config commit.cleanup whitespace (note that you will + have to remove the help lines that begin with # in the commit log + template yourself, if you do this). +

+
+
+commit.gpgSign +
+
+

+ A boolean to specify whether all commits should be GPG signed. + Use of this option when doing operations such as rebase can + result in a large number of commits being signed. It may be + convenient to use an agent to avoid typing your GPG passphrase + several times. +

+
+
+commit.status +
+
+

+ A boolean to enable/disable inclusion of status information in the + commit message template when using an editor to prepare the commit + message. Defaults to true. +

+
+
+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 git-commit(1). +

+
+
@@ -1781,7 +1840,7 @@ information.

diff --git a/git-commit.txt b/git-commit.txt index 6c60bf98f..225c6c9f2 100644 --- a/git-commit.txt +++ b/git-commit.txt @@ -557,6 +557,10 @@ The editor used to edit the commit log message will be chosen from the `VISUAL` environment variable, or the `EDITOR` environment variable (in that order). See linkgit:git-var[1] for details. +include::includes/cmd-config-section-rest.txt[] + +include::config/commit.txt[] + HOOKS ----- This command can run `commit-msg`, `prepare-commit-msg`, `pre-commit`, diff --git a/git-config.html b/git-config.html index 8de112050..cd1bf2739 100644 --- a/git-config.html +++ b/git-config.html @@ -4902,31 +4902,6 @@ diff.<driver>.cachetextconv Set this option to true to make the diff driver cache the text conversion outputs. See gitattributes(5) for details.

- -
-diff.tool -
-
-

- Controls which diff tool is used by git-difftool(1). - This variable overrides the value configured in merge.tool. - The list below shows the valid built-in values. - Any other value is treated as a custom diff tool and requires - that a corresponding difftool.<tool>.cmd variable is defined. -

-
-
-diff.guitool -
-
-

- Controls which diff tool is used by git-difftool(1) when - the -g/--gui flag is specified. This variable overrides the value - configured in merge.guitool. The list below shows the valid - built-in values. Any other value is treated as a custom diff tool - and requires that a corresponding difftool.<guitool>.cmd variable - is defined. -

araxis @@ -5215,12 +5190,28 @@ diff.colorMovedWS

-difftool.<tool>.path +diff.tool

- Override the path for the given tool. This is useful in case - your tool is not in the PATH. + Controls which diff tool is used by git-difftool(1). + This variable overrides the value configured in merge.tool. + The list below shows the valid built-in values. + Any other value is treated as a custom diff tool and requires + that a corresponding difftool.<tool>.cmd variable is defined. +

+
+
+diff.guitool +
+
+

+ Controls which diff tool is used by git-difftool(1) when + the -g/--gui flag is specified. This variable overrides the value + configured in merge.guitool. The list below shows the valid + built-in values. Any other value is treated as a custom diff tool + and requires that a corresponding difftool.<guitool>.cmd variable + is defined.

@@ -5235,6 +5226,25 @@ difftool.<tool>.cmd is set to the name of the temporary file containing the contents of the diff post-image.

+

See the --tool=<tool> option in git-difftool(1) for more details.

+ +
+difftool.<tool>.path +
+
+

+ Override the path for the given tool. This is useful in case + your tool is not in the PATH. +

+
+
+difftool.trustExitCode +
+
+

+ Exit difftool if the invoked diff tool returns a non-zero exit status. +

+

See the --trust-exit-code option in git-difftool(1) for more details.

difftool.prompt @@ -6279,8 +6289,16 @@ grep.threads

- Number of grep worker threads to use. - See grep.threads in git-grep(1) for more information. + Number of grep worker threads to use. If unset (or set to 0), Git will + use as many threads as the number of logical cores available. +

+
+
+grep.fullName +
+
+

+ If set to true, enable --full-name option by default.

@@ -7596,6 +7614,9 @@ log.date Setting a value for log.date is similar to using git log's --date option. See git-log(1) for details.

+

If the format is set to "auto:foo" and the pager is in use, format +"foo" will be the used for the date format. Otherwise "default" will +be used.

log.decorate @@ -8540,6 +8561,8 @@ notes.mergeStrategy cat_sort_uniq. Defaults to manual. See "NOTES MERGE STRATEGIES" section of git-notes(1) for more information on each strategy.

+

This setting can be overridden by passing the --strategy option to +git-notes(1).

notes.<name>.mergeStrategy @@ -8557,17 +8580,19 @@ 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. + Which ref (or refs, if a glob or specified more than once), in + addition to the default set by core.notesRef or + GIT_NOTES_REF, to read notes from when showing commit + messages with the git log family of commands.

This setting can be overridden with the GIT_NOTES_DISPLAY_REF environment variable, which must be a colon separated list of refs or globs.

+

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 disabled by the --no-notes option to the git +log family of commands, or by the --notes=<ref> option accepted by +those commands.

The effective value of "core.notesRef" (possibly overridden by GIT_NOTES_REF) is also implicitly added to the list of refs to be displayed.

@@ -8578,11 +8603,13 @@ 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. + rebase), if this variable is false, git will not copy + notes from the original to the rewritten commit. Defaults to + true. See also "notes.rewriteRef" below.

+

This setting can be overridden with the GIT_NOTES_REWRITE_REF +environment variable, which must be a colon separated list of refs or +globs.

notes.rewriteMode @@ -8604,16 +8631,15 @@ 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. + qualified) ref whose notes should be copied. 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.

+

Can be overridden with the GIT_NOTES_REWRITE_REF environment variable. +See notes.rewrite.<command> above for a further description of its format.

pack.window @@ -10049,11 +10075,85 @@ sendemail.<identity>.*

+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 + 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 + in the git-send-email(1) documentation for the meaning of these + values. +

+
+
sendemail.aliasesFile
+
+

+ To avoid typing long email addresses, point this to one or more + email aliases files. You must also supply sendemail.aliasFileType. +

+
sendemail.aliasFileType
+
+

+ Format of the file(s) specified in sendemail.aliasesFile. Must be + one of mutt, mailrc, pine, elm, or gnus, or sendmail. +

+

What an alias file in each format looks like can be found in +the documentation of the email program of the same name. The +differences and limitations from the standard formats are +described below:

+
+
+
+
+sendmail +
+
+
    +
  • +

    +Quoted aliases and quoted addresses are not supported: lines that + contain a " symbol are ignored. +

    +
  • +
  • +

    +Redirection to a file (/path/name) or pipe (|command) is not + supported. +

    +
  • +
  • +

    +File inclusion (:include: /path/name) is not supported. +

    +
  • +
  • +

    +Warnings are printed on the standard error output for any + explicitly unsupported constructs, and any other lines that are not + recognized by the parser. +

    +
  • +
+
+
+
+
sendemail.annotate
@@ -10070,18 +10170,12 @@ sendemail.ccCmd sendemail.chainReplyTo
-sendemail.confirm -
-
sendemail.envelopeSender
sendemail.from
-sendemail.multiEdit -
-
sendemail.signedoffbycc
@@ -10128,7 +10222,9 @@ sendemail.xmailer

- See git-send-email(1) for description. + These configuration variables all provide a default for + git-send-email(1) command-line options. See its + documentation for details.

diff --git a/git-diff.html b/git-diff.html index 327823861..9081a4d2f 100644 --- a/git-diff.html +++ b/git-diff.html @@ -2975,6 +2975,655 @@ Output diff in reverse.
+

CONFIGURATION

+
+

Everything below this line in this section is selectively included +from the git-config(1) documentation. The content is the same +as what’s found there:

+
+
+diff.autoRefreshIndex +
+
+

+ When using git diff to compare with work tree + files, do not consider stat-only change as changed. + Instead, silently run git update-index --refresh to + update the cached stat information for paths whose + contents in the work tree match the contents in the + index. This option defaults to true. Note that this + affects only git diff Porcelain, and not lower level + diff commands such as git diff-files. +

+
+
+diff.dirstat +
+
+

+ A comma separated list of --dirstat parameters specifying the + default behavior of the --dirstat option to git-diff(1) + and friends. The defaults can be overridden on the command line + (using --dirstat=<param1,param2,...>). The fallback defaults + (when not changed by diff.dirstat) are changes,noncumulative,3. + The following parameters are available: +

+
+
+
+
+changes +
+
+

+ Compute the dirstat numbers by counting the lines that have been + removed from the source, or added to the destination. This ignores + the amount of pure code movements within a file. In other words, + rearranging lines in a file is not counted as much as other changes. + This is the default behavior when no parameter is given. +

+
+
+lines +
+
+

+ Compute the dirstat numbers by doing the regular line-based diff + analysis, and summing the removed/added line counts. (For binary + files, count 64-byte chunks instead, since binary files have no + natural concept of lines). This is a more expensive --dirstat + behavior than the changes behavior, but it does count rearranged + lines within a file as much as other changes. The resulting output + is consistent with what you get from the other --*stat options. +

+
+
+files +
+
+

+ Compute the dirstat numbers by counting the number of files changed. + Each changed file counts equally in the dirstat analysis. This is + the computationally cheapest --dirstat behavior, since it does + not have to look at the file contents at all. +

+
+
+cumulative +
+
+

+ Count changes in a child directory for the parent directory as well. + Note that when using cumulative, the sum of the percentages + reported may exceed 100%. The default (non-cumulative) behavior can + be specified with the noncumulative parameter. +

+
+
+<limit> +
+
+

+ An integer parameter specifies a cut-off percent (3% by default). + Directories contributing less than this percentage of the changes + are not shown in the output. +

+
+
+
+

Example: The following will count changed files, while ignoring +directories with less than 10% of the total amount of changed files, +and accumulating child directory counts in the parent directories: +files,10,cumulative.

+
+
+diff.statGraphWidth +
+
+

+ Limit the width of the graph part in --stat output. If set, applies + to all commands generating --stat output except format-patch. +

+
+
+diff.context +
+
+

+ Generate diffs with <n> lines of context instead of the default + of 3. This value is overridden by the -U option. +

+
+
+diff.interHunkContext +
+
+

+ Show the context between diff hunks, up to the specified number + of lines, thereby fusing the hunks that are close to each other. + This value serves as the default for the --inter-hunk-context + command line option. +

+
+
+diff.external +
+
+

+ If this config variable is set, diff generation is not + performed using the internal diff machinery, but using the + given command. Can be overridden with the ‘GIT_EXTERNAL_DIFF’ + environment variable. The command is called with parameters + as described under "git Diffs" in git(1). Note: if + you want to use an external diff program only on a subset of + your files, you might want to use gitattributes(5) instead. +

+
+
+diff.ignoreSubmodules +
+
+

+ Sets the default value of --ignore-submodules. Note that this + affects only git diff Porcelain, and not lower level diff + commands such as git diff-files. git checkout + and git switch also honor + 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 + overridden by using the --ignore-submodules command-line option. + The git submodule commands are not affected by this setting. + By default this is set to untracked so that any untracked + submodules are ignored. +

+
+
+diff.mnemonicPrefix +
+
+

+ If set, git diff uses a prefix pair that is different from the + standard "a/" and "b/" depending on what is being compared. When + this configuration is in effect, reverse diff output also swaps + the order of the prefixes: +

+
+
+git diff +
+
+

+ compares the (i)ndex and the (w)ork tree; +

+
+
+git diff HEAD +
+
+

+ compares a (c)ommit and the (w)ork tree; +

+
+
+git diff --cached +
+
+

+ compares a (c)ommit and the (i)ndex; +

+
+
+git diff HEAD:file1 file2 +
+
+

+ compares an (o)bject and a (w)ork tree entity; +

+
+
+git diff --no-index a b +
+
+

+ compares two non-git things (1) and (2). +

+
+
+
+
+diff.noprefix +
+
+

+ If set, git diff does not show any source or destination prefix. +

+
+
+diff.relative +
+
+

+ If set to true, git diff does not show changes outside of the directory + and show pathnames relative to the current directory. +

+
+
+diff.orderFile +
+
+

+ File indicating how to order files within a diff. + See the -O option to git-diff(1) for details. + If diff.orderFile is a relative pathname, it is treated as + relative to the top of the working tree. +

+
+
+diff.renameLimit +
+
+

+ The number of files to consider in the exhaustive portion of + copy/rename detection; equivalent to the git diff option + -l. If not set, the default value is currently 1000. This + setting has no effect if rename detection is turned off. +

+
+
+diff.renames +
+
+

+ 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 git-diff(1) and + git-log(1), and not lower level commands such as + git-diff-files(1). +

+
+
+diff.suppressBlankEmpty +
+
+

+ A boolean to inhibit the standard behavior of printing a space + before each empty output line. Defaults to false. +

+
+
+diff.submodule +
+
+

+ Specify the format in which differences in submodules are + shown. The "short" format just shows the names of the commits + at the beginning and end of the range. The "log" format lists + the commits in the range like git-submodule(1) summary + does. The "diff" format shows an inline diff of the changed + contents of the submodule. Defaults to "short". +

+
+
+diff.wordRegex +
+
+

+ A POSIX Extended Regular Expression used to determine what is a "word" + when performing word-by-word difference calculations. Character + sequences that match the regular expression are "words", all other + characters are ignorable whitespace. +

+
+
+diff.<driver>.command +
+
+

+ The custom diff driver command. See gitattributes(5) + for details. +

+
+
+diff.<driver>.xfuncname +
+
+

+ The regular expression that the diff driver should use to + recognize the hunk header. A built-in pattern may also be used. + See gitattributes(5) for details. +

+
+
+diff.<driver>.binary +
+
+

+ Set this option to true to make the diff driver treat files as + binary. See gitattributes(5) for details. +

+
+
+diff.<driver>.textconv +
+
+

+ The command that the diff driver should call to generate the + text-converted version of a file. The result of the + conversion is used to generate a human-readable diff. See + gitattributes(5) for details. +

+
+
+diff.<driver>.wordRegex +
+
+

+ The regular expression that the diff driver should use to + split words in a line. See gitattributes(5) for + details. +

+
+
+diff.<driver>.cachetextconv +
+
+

+ Set this option to true to make the diff driver cache the text + conversion outputs. See gitattributes(5) for details. +

+
+
+araxis +
+
+

+Use Araxis Merge (requires a graphical session) +

+
+
+bc +
+
+

+Use Beyond Compare (requires a graphical session) +

+
+
+bc3 +
+
+

+Use Beyond Compare (requires a graphical session) +

+
+
+bc4 +
+
+

+Use Beyond Compare (requires a graphical session) +

+
+
+codecompare +
+
+

+Use Code Compare (requires a graphical session) +

+
+
+deltawalker +
+
+

+Use DeltaWalker (requires a graphical session) +

+
+
+diffmerge +
+
+

+Use DiffMerge (requires a graphical session) +

+
+
+diffuse +
+
+

+Use Diffuse (requires a graphical session) +

+
+
+ecmerge +
+
+

+Use ECMerge (requires a graphical session) +

+
+
+emerge +
+
+

+Use Emacs' Emerge +

+
+
+examdiff +
+
+

+Use ExamDiff Pro (requires a graphical session) +

+
+
+guiffy +
+
+

+Use Guiffy’s Diff Tool (requires a graphical session) +

+
+
+gvimdiff +
+
+

+Use gVim (requires a graphical session) +

+
+
+kdiff3 +
+
+

+Use KDiff3 (requires a graphical session) +

+
+
+kompare +
+
+

+Use Kompare (requires a graphical session) +

+
+
+meld +
+
+

+Use Meld (requires a graphical session) +

+
+
+nvimdiff +
+
+

+Use Neovim +

+
+
+opendiff +
+
+

+Use FileMerge (requires a graphical session) +

+
+
+p4merge +
+
+

+Use HelixCore P4Merge (requires a graphical session) +

+
+
+smerge +
+
+

+Use Sublime Merge (requires a graphical session) +

+
+
+tkdiff +
+
+

+Use TkDiff (requires a graphical session) +

+
+
+vimdiff +
+
+

+Use Vim +

+
+
+winmerge +
+
+

+Use WinMerge (requires a graphical session) +

+
+
+xxdiff +
+
+

+Use xxdiff (requires a graphical session) +

+
+
+
+
+diff.indentHeuristic +
+
+

+ Set this option to false to disable the default heuristics + that shift diff hunk boundaries to make patches easier to read. +

+
+
+diff.algorithm +
+
+

+ Choose a diff algorithm. The variants are as follows: +

+
+
+
+
+default, myers +
+
+

+ The basic greedy diff algorithm. Currently, this is the default. +

+
+
+minimal +
+
+

+ Spend extra time to make sure the smallest possible diff is + produced. +

+
+
+patience +
+
+

+ Use "patience diff" algorithm when generating patches. +

+
+
+histogram +
+
+

+ This algorithm extends the patience algorithm to "support + low-occurrence common elements". +

+
+
+
+
+
+diff.wsErrorHighlight +
+
+

+ Highlight whitespace errors in the context, old or new + lines of the diff. Multiple values are separated by comma, + none resets previous values, default reset the list to + new and all is a shorthand for old,new,context. The + whitespace errors are colored with color.diff.whitespace. + The command line option --ws-error-highlight=<kind> + overrides this setting. +

+
+
+diff.colorMoved +
+
+

+ If set to either a valid <mode> or a true value, moved lines + in a diff are colored differently, for details of valid modes + see --color-moved in git-diff(1). If simply set to + true the default color mode will be used. When set to false, + moved lines are not colored. +

+
+
+diff.colorMovedWS +
+
+

+ When moved lines are colored using e.g. the diff.colorMoved setting, + this option controls the <mode> how spaces are treated + for details of valid modes see --color-moved-ws in git-diff(1). +

+
+
+
+
+

SEE ALSO

diff(1), @@ -2997,7 +3646,7 @@ Output diff in reverse.

diff --git a/git-diff.txt b/git-diff.txt index 6236c75c9..85ae6d6d0 100644 --- a/git-diff.txt +++ b/git-diff.txt @@ -213,6 +213,13 @@ $ git diff -R <2> rewrites (very expensive). <2> Output diff in reverse. +CONFIGURATION +------------- + +include::includes/cmd-config-section-all.txt[] + +include::config/diff.txt[] + SEE ALSO -------- diff(1), diff --git a/git-difftool.html b/git-difftool.html index 47f9bfa60..303d7d64c 100644 --- a/git-difftool.html +++ b/git-difftool.html @@ -923,17 +923,24 @@ instead. --no-symlinks is the default on Windows.

-

CONFIG VARIABLES

+

CONFIGURATION

git difftool falls back to git mergetool config variables when the difftool equivalents have not been defined.

+

Everything above this line in this section isn’t included from the +git-config(1) documentation. The content that follows is the +same as what’s found there:

diff.tool

- The default diff tool to use. + Controls which diff tool is used by git-difftool(1). + This variable overrides the value configured in merge.tool. + The list below shows the valid built-in values. + Any other value is treated as a custom diff tool and requires + that a corresponding difftool.<tool>.cmd variable is defined.

@@ -941,43 +948,53 @@ diff.guitool

- The default diff tool to use when --gui is specified. + Controls which diff tool is used by git-difftool(1) when + the -g/--gui flag is specified. This variable overrides the value + configured in merge.guitool. The list below shows the valid + built-in values. Any other value is treated as a custom diff tool + and requires that a corresponding difftool.<guitool>.cmd variable + is defined.

-difftool.<tool>.path +difftool.<tool>.cmd

- Override the path for the given tool. This is useful in case - your tool is not in the PATH. + Specify the command to invoke the specified diff tool. + The specified command is evaluated in shell with the following + variables available: LOCAL is set to the name of the temporary + file containing the contents of the diff pre-image and REMOTE + is set to the name of the temporary file containing the contents + of the diff post-image.

+

See the --tool=<tool> option in git-difftool(1) for more details.

-difftool.<tool>.cmd +difftool.<tool>.path

- Specify the command to invoke the specified diff tool. + Override the path for the given tool. This is useful in case + your tool is not in the PATH.

-

See the --tool=<tool> option above for more details.

-difftool.prompt +difftool.trustExitCode

- Prompt before each invocation of the diff tool. + Exit difftool if the invoked diff tool returns a non-zero exit status.

+

See the --trust-exit-code option in git-difftool(1) for more details.

-difftool.trustExitCode +difftool.prompt

- Exit difftool if the invoked diff tool returns a non-zero exit status. + Prompt before each invocation of the diff tool.

-

See the --trust-exit-code option above for more details.

@@ -1024,7 +1041,7 @@ difftool.trustExitCode diff --git a/git-difftool.txt b/git-difftool.txt index 143b0c49d..9d14c3c9f 100644 --- a/git-difftool.txt +++ b/git-difftool.txt @@ -113,33 +113,14 @@ instead. `--no-symlinks` is the default on Windows. See linkgit:git-diff[1] for the full list of supported options. -CONFIG VARIABLES ----------------- +CONFIGURATION +------------- 'git difftool' falls back to 'git mergetool' config variables when the difftool equivalents have not been defined. -diff.tool:: - The default diff tool to use. +include::includes/cmd-config-section-rest.txt[] -diff.guitool:: - The default diff tool to use when `--gui` is specified. - -difftool..path:: - Override the path for the given tool. This is useful in case - your tool is not in the PATH. - -difftool..cmd:: - Specify the command to invoke the specified diff tool. -+ -See the `--tool=` option above for more details. - -difftool.prompt:: - Prompt before each invocation of the diff tool. - -difftool.trustExitCode:: - Exit difftool if the invoked diff tool returns a non-zero exit status. -+ -See the `--trust-exit-code` option above for more details. +include::config/difftool.txt[] SEE ALSO -------- diff --git a/git-fast-import.html b/git-fast-import.html index 2509ddd7c..db44a65ee 100644 --- a/git-fast-import.html +++ b/git-fast-import.html @@ -2600,6 +2600,30 @@ compression.

+

CONFIGURATION

+
+

Everything below this line in this section is selectively included +from the git-config(1) documentation. The content is the same +as what’s found there:

+
+
+fastimport.unpackLimit +
+
+

+ If the number of objects imported by 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. +

+
+
+
+
+

SEE ALSO

@@ -2616,7 +2640,7 @@ compression.

diff --git a/git-fast-import.txt b/git-fast-import.txt index 39cfa05b2..8b5dd6add 100644 --- a/git-fast-import.txt +++ b/git-fast-import.txt @@ -1564,6 +1564,13 @@ operator can use this facility to peek at the objects and refs from an import in progress, at the cost of some added running time and worse compression. +CONFIGURATION +------------- + +include::includes/cmd-config-section-all.txt[] + +include::config/fastimport.txt[] + SEE ALSO -------- linkgit:git-fast-export[1] diff --git a/git-fetch.html b/git-fetch.html index f52b984da..e4fc99601 100644 --- a/git-fetch.html +++ b/git-fetch.html @@ -1993,6 +1993,172 @@ As in #1, the attacker chooses an object ID X to steal. The victim sends
+

CONFIGURATION

+
+

Everything below this line in this section is selectively included +from the git-config(1) documentation. The content is the same +as what’s found there:

+
+
+fetch.recurseSubmodules +
+
+

+ This option controls whether git fetch (and the underlying fetch + in git pull) will recursively fetch into populated submodules. + This option can be set either to a boolean value or to on-demand. + Setting it to a boolean changes the behavior of fetch and pull to + recurse unconditionally into submodules when set to true or to not + recurse at all when set to false. When set to on-demand, fetch and + pull will only recurse into a populated submodule when its + superproject retrieves a commit that updates the submodule’s + reference. + Defaults to on-demand, or to the value of submodule.recurse if set. +

+
+
+fetch.fsckObjects +
+
+

+ If it is set to true, git-fetch-pack will check all fetched + objects. See transfer.fsckObjects for what’s + checked. Defaults to false. If not set, the value of + transfer.fsckObjects is used instead. +

+
+
+fetch.fsck.<msg-id> +
+
+

+ Acts like fsck.<msg-id>, but is used by + git-fetch-pack(1) instead of git-fsck(1). See + the fsck.<msg-id> documentation for details. +

+
+
+fetch.fsck.skipList +
+
+

+ Acts like fsck.skipList, but is used by + git-fetch-pack(1) instead of git-fsck(1). See + the fsck.skipList documentation for details. +

+
+
+fetch.unpackLimit +
+
+

+ If the number of objects fetched over the Git native + transfer is below this + limit, then the objects will be unpacked into loose object + files. However if the number of received objects equals or + exceeds this limit then the received pack will be stored as + a pack, after adding any missing delta bases. Storing the + pack from a push can make the push operation complete faster, + especially on slow filesystems. If not set, the value of + transfer.unpackLimit is used instead. +

+
+
+fetch.prune +
+
+

+ If true, fetch will automatically behave as if the --prune + option was given on the command line. See also remote.<name>.prune + and the PRUNING section of git-fetch(1). +

+
+
+fetch.pruneTags +
+
+

+ If true, fetch will automatically behave as if the + refs/tags/*:refs/tags/* refspec was provided when pruning, + if not set already. This allows for setting both this option + and fetch.prune to maintain a 1=1 mapping to upstream + refs. See also remote.<name>.pruneTags and the PRUNING + section of git-fetch(1). +

+
+
+fetch.output +
+
+

+ Control how ref update status is printed. Valid values are + full and compact. Default value is full. See section + OUTPUT in git-fetch(1) for detail. +

+
+
+fetch.negotiationAlgorithm +
+
+

+ Control how information about the commits in the local repository + is sent when negotiating the contents of the packfile to be sent by + the server. Set to "consecutive" to use an algorithm that walks + over consecutive commits checking each one. Set to "skipping" to + use an algorithm that skips commits in an effort to converge + faster, but may result in a larger-than-necessary packfile; or set + to "noop" to not send any information at all, which will almost + certainly result in a larger-than-necessary packfile, but will skip + the negotiation step. Set to "default" to override settings made + previously and use the default behaviour. The default is normally + "consecutive", but if feature.experimental is true, then the + default is "skipping". Unknown values will cause git fetch to + error out. +

+

See also the --negotiate-only and --negotiation-tip options to +git-fetch(1).

+
+
+fetch.showForcedUpdates +
+
+

+ Set to false to enable --no-show-forced-updates in + git-fetch(1) and git-pull(1) commands. + Defaults to true. +

+
+
+fetch.parallel +
+
+

+ Specifies the maximal number of fetch operations to be run in parallel + at a time (submodules, or remotes when the --multiple option of + git-fetch(1) is in effect). +

+

A value of 0 will give some reasonable default. If unset, it defaults to 1.

+

For submodules, this setting can be overridden using the submodule.fetchJobs +config setting.

+
+
+fetch.writeCommitGraph +
+
+

+ Set to true to write a commit-graph after every git fetch command + that downloads a pack-file from a remote. Using the --split option, + most executions will create a very small commit-graph file on top of + the existing commit-graph file(s). Occasionally, these files will + merge and the write may take longer. Having an updated commit-graph + file helps performance of many Git commands, including git merge-base, + git push -f, and git log --graph. Defaults to false. +

+
+
+
+
+

BUGS

Using --recurse-submodules can only fetch new commits in submodules that are @@ -2018,7 +2184,7 @@ submodule update. This is expected to be fixed in a future Git version.

diff --git a/git-fetch.txt b/git-fetch.txt index e9d364669..63d9569e1 100644 --- a/git-fetch.txt +++ b/git-fetch.txt @@ -285,6 +285,13 @@ linkgit:git-gc[1]). include::transfer-data-leaks.txt[] +CONFIGURATION +------------- + +include::includes/cmd-config-section-all.txt[] + +include::config/fetch.txt[] + BUGS ---- Using --recurse-submodules can only fetch new commits in submodules that are diff --git a/git-fsck.html b/git-fsck.html index 1eaa48278..0a795cace 100644 --- a/git-fsck.html +++ b/git-fsck.html @@ -925,6 +925,9 @@ care about this output and want to speed it up further.

CONFIGURATION

+

Everything below this line in this section is selectively included +from the git-config(1) documentation. The content is the same +as what’s found there:

fsck.<msg-id> @@ -1103,7 +1106,7 @@ GIT_ALTERNATE_OBJECT_DIRECTORIES diff --git a/git-fsck.txt b/git-fsck.txt index 5088783dc..29318ea95 100644 --- a/git-fsck.txt +++ b/git-fsck.txt @@ -107,6 +107,8 @@ care about this output and want to speed it up further. CONFIGURATION ------------- +include::includes/cmd-config-section-all.txt[] + include::config/fsck.txt[] DISCUSSION diff --git a/git-gc.html b/git-gc.html index f5dc0a95e..26e76f03c 100644 --- a/git-gc.html +++ b/git-gc.html @@ -892,8 +892,9 @@ users and their repositories.

CONFIGURATION

-

The below documentation is the same as what’s found in -git-config(1):

+

Everything below this line in this section is selectively included +from the git-config(1) documentation. The content is the same +as what’s found there:

gc.aggressiveDepth @@ -1186,7 +1187,7 @@ seems to be low in practice).

diff --git a/git-gc.txt b/git-gc.txt index 0af7540a0..a65c9aa62 100644 --- a/git-gc.txt +++ b/git-gc.txt @@ -110,8 +110,7 @@ users and their repositories. CONFIGURATION ------------- -The below documentation is the same as what's found in -linkgit:git-config[1]: +include::includes/cmd-config-section-all.txt[] include::config/gc.txt[] diff --git a/git-grep.html b/git-grep.html index 8bfcda5d5..cee178ff1 100644 --- a/git-grep.html +++ b/git-grep.html @@ -1407,6 +1407,9 @@ performance in this case, it might be desirable to use --threads=1.

CONFIGURATION

+

Everything below this line in this section is selectively included +from the git-config(1) documentation. The content is the same +as what’s found there:

grep.lineNumber @@ -1432,7 +1435,8 @@ 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 - value default will return to the default matching behavior. + value default will use the grep.extendedRegexp option to choose + between basic and extended.

@@ -1485,7 +1489,7 @@ grep.fallbackToNoIndex diff --git a/git-grep.txt b/git-grep.txt index 58d944bd5..dabdbe847 100644 --- a/git-grep.txt +++ b/git-grep.txt @@ -343,34 +343,9 @@ performance in this case, it might be desirable to use `--threads=1`. CONFIGURATION ------------- -grep.lineNumber:: - If set to true, enable `-n` option by default. - -grep.column:: - If set to true, enable the `--column` 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 - value 'default' will return to the default matching behavior. - -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 - other than 'default'. - -grep.threads:: - Number of grep worker threads to use. If unset (or set to 0), Git will - use as many threads as the number of logical cores available. - -grep.fullName:: - If set to true, enable `--full-name` option by default. - -grep.fallbackToNoIndex:: - If set to true, fall back to git grep --no-index if git grep - is executed outside of a git repository. Defaults to false. +include::includes/cmd-config-section-all.txt[] +include::config/grep.txt[] GIT --- diff --git a/git-imap-send.html b/git-imap-send.html index bef8fa654..f6c1f3b0e 100644 --- a/git-imap-send.html +++ b/git-imap-send.html @@ -821,6 +821,9 @@ that order.

To use the tool, imap.folder and either imap.tunnel or imap.host must be set to appropriate values.

+

Everything above this line in this section isn’t included from the +git-config(1) documentation. The content that follows is the +same as what’s found there:

imap.folder @@ -1025,7 +1028,7 @@ users may wish to visit this web page for more information: diff --git a/git-imap-send.txt b/git-imap-send.txt index 63cf498ce..f7b185151 100644 --- a/git-imap-send.txt +++ b/git-imap-send.txt @@ -54,6 +54,8 @@ CONFIGURATION To use the tool, `imap.folder` and either `imap.tunnel` or `imap.host` must be set to appropriate values. +include::includes/cmd-config-section-rest.txt[] + include::config/imap.txt[] EXAMPLES diff --git a/git-init.html b/git-init.html index 6aff4d9db..743f0cf01 100644 --- a/git-init.html +++ b/git-init.html @@ -996,6 +996,34 @@ Record the pristine state as the first commit in the history.
+

CONFIGURATION

+
+

Everything below this line in this section is selectively included +from the git-config(1) documentation. The content is the same +as what’s found there:

+
+
+init.templateDir +
+
+

+ Specify the directory from which templates will be copied. + (See the "TEMPLATE DIRECTORY" section of git-init(1).) +

+
+
+init.defaultBranch +
+
+

+ Allows overriding the default branch name e.g. when initializing + a new repository. +

+
+
+
+
+

GIT

Part of the git(1) suite

@@ -1006,7 +1034,7 @@ Record the pristine state as the first commit in the history. diff --git a/git-init.txt b/git-init.txt index ad921fe78..160dea137 100644 --- a/git-init.txt +++ b/git-init.txt @@ -169,6 +169,13 @@ $ git commit <3> <2> Add all existing files to the index. <3> Record the pristine state as the first commit in the history. +CONFIGURATION +------------- + +include::includes/cmd-config-section-all.txt[] + +include::config/init.txt[] + GIT --- Part of the linkgit:git[1] suite diff --git a/git-log.html b/git-log.html index 8ab3c3000..a1f3e1e16 100644 --- a/git-log.html +++ b/git-log.html @@ -5336,20 +5336,81 @@ i18n.logOutputEncoding otherwise.

+
+

Everything above this line in this section isn’t included from the +git-config(1) documentation. The content that follows is the +same as what’s found there:

+
+
+log.abbrevCommit +
+
+

+ If true, makes git-log(1), git-show(1), and + git-whatchanged(1) assume --abbrev-commit. You may + override this option with --no-abbrev-commit. +

+
log.date

- Default format for human-readable dates. (Compare the - --date option.) Defaults to "default", which means to write - dates like Sat May 8 19:35:34 2010 -0500. + Set the default date-time mode for the log command. + Setting a value for log.date is similar to using git log's + --date option. See git-log(1) for details.

If the format is set to "auto:foo" and the pager is in use, format "foo" will be the used for the date format. Otherwise "default" will be used.

+log.decorate +
+
+

+ Print out the ref names of any commits that are shown by the log + 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. + 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.initialDecorationSet +
+
+

+ By default, git log only shows decorations for certain known ref + namespaces. If all is specified, then show all refs as + decorations. +

+
+
+log.excludeDecoration +
+
+

+ Exclude the specified patterns from the log decorations. This is + similar to the --decorate-refs-exclude command-line option, but + the config option can be overridden by the --decorate-refs + option. +

+
+
+log.diffMerges +
+
+

+ Set default diff format to be used for merge commits. See + --diff-merges in git-log(1) for details. + Defaults to separate. +

+
+
log.follow
@@ -5361,14 +5422,23 @@ log.follow

+log.graphColors +
+
+

+ A list of colors, separated by commas, that can be used to draw + history lines in git log --graph. +

+
+
log.showRoot

- If false, git log and related commands will not treat the - initial commit as a big creation event. Any root commits in - git log -p output would be shown without a diff attached. - The default is true. + If true, the initial commit will be shown as a big creation event. + This is equivalent to a diff against an empty tree. + Tools like git-log(1) or git-whatchanged(1), which + normally hide the root commit will now show it. True by default.

@@ -5376,16 +5446,42 @@ log.showSignature

- If true, git log and related commands will act as if the - --show-signature option was passed to them. + If true, makes git-log(1), git-show(1), and + git-whatchanged(1) assume --show-signature.

-mailmap.* +log.mailmap

- See git-shortlog(1). + If true, makes git-log(1), git-show(1), and + git-whatchanged(1) assume --use-mailmap, otherwise + assume --no-use-mailmap. True by default. +

+
+
+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 git-notes(1) for more information on each strategy. +

+

This setting can be overridden by passing the --strategy option to +git-notes(1).

+
+
+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 + git-notes(1) for more information on the available strategies.

@@ -5393,17 +5489,66 @@ notes.displayRef

- Which refs, in addition to the default set by core.notesRef - or GIT_NOTES_REF, to read notes from when showing commit - messages with the log family of commands. See - git-notes(1). + Which ref (or refs, if a glob or specified more than once), in + addition to the default set by core.notesRef or + GIT_NOTES_REF, to read notes from when showing commit + messages with the git log family of commands.

-

May be an unabbreviated ref name or a glob and may be specified -multiple times. A warning will be issued for refs that do not exist, +

This setting can be overridden with the GIT_NOTES_DISPLAY_REF +environment variable, which must be a colon separated list of refs or +globs.

+

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 disabled by the --no-notes option, -overridden by the GIT_NOTES_DISPLAY_REF environment variable, -and overridden by the --notes=<ref> option.

+

This setting can be disabled by the --no-notes option to the git +log family of commands, or by the --notes=<ref> option accepted by +those commands.

+

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), if this variable is false, git will not copy + notes from the original to the rewritten commit. Defaults to + true. See also "notes.rewriteRef" below. +

+

This setting can be overridden with the GIT_NOTES_REWRITE_REF +environment variable, which must be a colon separated list of refs or +globs.

+
+
+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. 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.

+

Can be overridden with the GIT_NOTES_REWRITE_REF environment variable. +See notes.rewrite.<command> above for a further description of its format.

@@ -5419,7 +5564,7 @@ and overridden by the --notes=<ref> option.

diff --git a/git-log.txt b/git-log.txt index b1285aee3..2a66cf888 100644 --- a/git-log.txt +++ b/git-log.txt @@ -209,47 +209,11 @@ i18n.logOutputEncoding:: Defaults to the value of `i18n.commitEncoding` if set, and UTF-8 otherwise. -log.date:: - Default format for human-readable dates. (Compare the - `--date` option.) Defaults to "default", which means to write - dates like `Sat May 8 19:35:34 2010 -0500`. -+ -If the format is set to "auto:foo" and the pager is in use, format -"foo" will be the used for the date format. Otherwise "default" will -be used. - -log.follow:: - If `true`, `git log` will act as if the `--follow` option was used when - a single is given. This has the same limitations as `--follow`, - i.e. it cannot be used to follow multiple files and does not work well - on non-linear history. - -log.showRoot:: - If `false`, `git log` and related commands will not treat the - initial commit as a big creation event. Any root commits in - `git log -p` output would be shown without a diff attached. - The default is `true`. - -log.showSignature:: - If `true`, `git log` and related commands will act as if the - `--show-signature` option was passed to them. - -mailmap.*:: - See linkgit:git-shortlog[1]. - -notes.displayRef:: - Which refs, in addition to the default set by `core.notesRef` - or `GIT_NOTES_REF`, to read notes from when showing commit - messages with the `log` family of commands. See - linkgit:git-notes[1]. -+ -May be an unabbreviated ref name or a glob and may be specified -multiple 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 disabled by the `--no-notes` option, -overridden by the `GIT_NOTES_DISPLAY_REF` environment variable, -and overridden by the `--notes=` option. +include::includes/cmd-config-section-rest.txt[] + +include::config/log.txt[] + +include::config/notes.txt[] GIT --- diff --git a/git-mailinfo.html b/git-mailinfo.html index 0fede5e3b..1daf955f3 100644 --- a/git-mailinfo.html +++ b/git-mailinfo.html @@ -940,6 +940,28 @@ If no such configuration option has been set, warn will be used.

+

CONFIGURATION

+
+

Everything below this line in this section is selectively included +from the git-config(1) documentation. The content is the same +as what’s found there:

+
+
+mailinfo.scissors +
+
+

+ If true, makes git-mailinfo(1) (and therefore + git-am(1)) act by default as if the --scissors option + was provided on the command-line. When active, this features + removes everything from the message body before a scissors + line (i.e. consisting mainly of ">8", "8<" and "-"). +

+
+
+
+
+

GIT

Part of the git(1) suite

@@ -950,7 +972,7 @@ If no such configuration option has been set, warn will be used.

diff --git a/git-mailinfo.txt b/git-mailinfo.txt index 3fcfd965f..28060283c 100644 --- a/git-mailinfo.txt +++ b/git-mailinfo.txt @@ -115,6 +115,13 @@ If no such configuration option has been set, `warn` will be used. :: The patch extracted from e-mail. +CONFIGURATION +------------- + +include::includes/cmd-config-section-all.txt[] + +include::config/mailinfo.txt[] + GIT --- Part of the linkgit:git[1] suite diff --git a/git-maintenance.html b/git-maintenance.html index c7fadc0c0..eb388f895 100644 --- a/git-maintenance.html +++ b/git-maintenance.html @@ -1231,6 +1231,121 @@ custom tasks.

+

CONFIGURATION

+
+

Everything below this line in this section is selectively included +from the git-config(1) documentation. The content is the same +as what’s found there:

+
+
+maintenance.auto +
+
+

+ This boolean config option controls whether some commands run + git maintenance run --auto after doing their normal work. Defaults + to true. +

+
+
+maintenance.strategy +
+
+

+ This string config option provides a way to specify one of a few + recommended schedules for background maintenance. This only affects + which tasks are run during git maintenance run --schedule=X + commands, provided no --task=<task> arguments are provided. + Further, if a maintenance.<task>.schedule config value is set, + then that value is used instead of the one provided by + maintenance.strategy. The possible strategy strings are: +

+
    +
  • +

    +none: This default setting implies no task are run at any schedule. +

    +
  • +
  • +

    +incremental: This setting optimizes for performing small maintenance + activities that do not delete any data. This does not schedule the gc + task, but runs the prefetch and commit-graph tasks hourly, the + loose-objects and incremental-repack tasks daily, and the pack-refs + task weekly. +

    +
  • +
+
+
+maintenance.<task>.enabled +
+
+

+ This boolean config option controls whether the maintenance task + with name <task> is run when no --task option is specified to + git maintenance run. These config values are ignored if a + --task option exists. By default, only maintenance.gc.enabled + is true. +

+
+
+maintenance.<task>.schedule +
+
+

+ This config option controls whether or not the given <task> runs + during a git maintenance run --schedule=<frequency> command. The + value must be one of "hourly", "daily", or "weekly". +

+
+
+maintenance.commit-graph.auto +
+
+

+ This integer config option controls how often the commit-graph task + should be run as part of git maintenance run --auto. If zero, then + the commit-graph task will not run with the --auto option. A + negative value will force the task to run every time. Otherwise, a + positive value implies the command should run when the number of + reachable commits that are not in the commit-graph file is at least + the value of maintenance.commit-graph.auto. The default value is + 100. +

+
+
+maintenance.loose-objects.auto +
+
+

+ This integer config option controls how often the loose-objects task + should be run as part of git maintenance run --auto. If zero, then + the loose-objects task will not run with the --auto option. A + negative value will force the task to run every time. Otherwise, a + positive value implies the command should run when the number of + loose objects is at least the value of maintenance.loose-objects.auto. + The default value is 100. +

+
+
+maintenance.incremental-repack.auto +
+
+

+ This integer config option controls how often the incremental-repack + task should be run as part of git maintenance run --auto. If zero, + then the incremental-repack task will not run with the --auto + option. A negative value will force the task to run every time. + Otherwise, a positive value implies the command should run when the + number of pack-files not in the multi-pack-index is at least the value + of maintenance.incremental-repack.auto. The default value is 10. +

+
+
+
+
+

GIT

Part of the git(1) suite

@@ -1241,7 +1356,7 @@ custom tasks.

diff --git a/git-maintenance.txt b/git-maintenance.txt index e56bad28c..9c630efe1 100644 --- a/git-maintenance.txt +++ b/git-maintenance.txt @@ -397,6 +397,13 @@ If you want to customize the background tasks, please rename the tasks so future calls to `git maintenance (start|stop)` do not overwrite your custom tasks. +CONFIGURATION +------------- + +include::includes/cmd-config-section-all.txt[] + +include::config/maintenance.txt[] + GIT --- diff --git a/git-merge.html b/git-merge.html index 70dd8fdb4..ef87f6c59 100644 --- a/git-merge.html +++ b/git-merge.html @@ -1782,6 +1782,21 @@ substitutes the changed version instead.

+branch.<name>.mergeOptions +
+
+

+ Sets default options for merging into branch <name>. The syntax and + supported options are the same as those of git merge, but option + values containing whitespace characters are currently not supported. +

+
+
+

Everything above this line in this section isn’t included from the +git-config(1) documentation. The content that follows is the +same as what’s found there:

+
+
merge.conflictStyle
@@ -2286,16 +2301,6 @@ merge.<driver>.recursive See gitattributes(5) for details.

-
-branch.<name>.mergeOptions -
-
-

- Sets default options for merging into branch <name>. The syntax and - supported options are the same as those of git merge, but option - values containing whitespace characters are currently not supported. -

-
@@ -2321,7 +2326,7 @@ branch.<name>.mergeOptions diff --git a/git-merge.txt b/git-merge.txt index fee1dc2df..2d6a1391c 100644 --- a/git-merge.txt +++ b/git-merge.txt @@ -383,13 +383,16 @@ include::merge-strategies.txt[] CONFIGURATION ------------- -include::config/merge.txt[] branch..mergeOptions:: Sets default options for merging into branch . The syntax and supported options are the same as those of 'git merge', but option values containing whitespace characters are currently not supported. +include::includes/cmd-config-section-rest.txt[] + +include::config/merge.txt[] + SEE ALSO -------- linkgit:git-fmt-merge-msg[1], linkgit:git-pull[1], diff --git a/git-mergetool.html b/git-mergetool.html index ebbf1966b..f640addad 100644 --- a/git-mergetool.html +++ b/git-mergetool.html @@ -887,6 +887,9 @@ success of the resolution after the custom tool has exited.

CONFIGURATION

+

Everything below this line in this section is selectively included +from the git-config(1) documentation. The content is the same +as what’s found there:

mergetool.<tool>.path @@ -1326,7 +1329,7 @@ MERGED and REMOTE).

diff --git a/git-mergetool.txt b/git-mergetool.txt index f784027bc..c44e20562 100644 --- a/git-mergetool.txt +++ b/git-mergetool.txt @@ -102,6 +102,9 @@ success of the resolution after the custom tool has exited. CONFIGURATION ------------- :git-mergetool: 1 + +include::includes/cmd-config-section-all.txt[] + include::config/mergetool.txt[] TEMPORARY FILES diff --git a/git-notes.html b/git-notes.html index 9e1177710..230ed94ac 100644 --- a/git-notes.html +++ b/git-notes.html @@ -784,7 +784,7 @@ message, after an unindented line saying "Notes (<refname>):" (or using the --notes option. Such notes are added as a patch commentary after a three dash separator line.

To change which notes are shown by git log, see the -"notes.displayRef" configuration in git-log(1).

+"notes.displayRef" discussion in [CONFIGURATION].

See the "notes.rewrite.<command>" configuration for a way to carry notes across commands that rewrite commits.

@@ -1186,7 +1186,7 @@ some special-purpose tools to do something useful with them.

-

CONFIGURATION

+

CONFIGURATION

@@ -1200,6 +1200,11 @@ core.notesRef command line.

+
+

Everything above this line in this section isn’t included from the +git-config(1) documentation. The content that follows is the +same as what’s found there:

+
notes.mergeStrategy
@@ -1208,9 +1213,10 @@ 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 above for more information on each strategy. + section of git-notes(1) for more information on each strategy.

-

This setting can be overridden by passing the --strategy option.

+

This setting can be overridden by passing the --strategy option to +git-notes(1).

notes.<name>.mergeStrategy @@ -1219,8 +1225,8 @@ 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 above - for more information on each available strategy. + "notes.mergeStrategy". See the "NOTES MERGE STRATEGIES" section in + git-notes(1) for more information on the available strategies.

@@ -1232,10 +1238,18 @@ notes.displayRef addition to the default set by core.notesRef or GIT_NOTES_REF, to read notes from when showing commit messages with the git log family of commands. - This setting can be overridden on the command line or by the - GIT_NOTES_DISPLAY_REF environment variable. - See git-log(1).

+

This setting can be overridden with the GIT_NOTES_DISPLAY_REF +environment variable, which must be a colon separated list of refs or +globs.

+

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 disabled by the --no-notes option to the git +log family of commands, or by the --notes=<ref> option accepted by +those commands.

+

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> @@ -1247,18 +1261,20 @@ notes.rewrite.<command> notes from the original to the rewritten commit. Defaults to true. See also "notes.rewriteRef" below.

-

This setting can be overridden by the GIT_NOTES_REWRITE_REF -environment variable.

+

This setting can be overridden with the GIT_NOTES_REWRITE_REF +environment variable, which must be a colon separated list of refs or +globs.

notes.rewriteMode

- When copying notes during a rewrite, 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. + 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.

@@ -1274,8 +1290,10 @@ notes.rewriteRef may also specify this configuration several times.

Does not have a default value; you must configure this variable to -enable note rewriting.

-

Can be overridden with the GIT_NOTES_REWRITE_REF environment variable.

+enable note rewriting. Set it to refs/notes/commits to enable +rewriting for the default commit notes.

+

Can be overridden with the GIT_NOTES_REWRITE_REF environment variable. +See notes.rewrite.<command> above for a further description of its format.

@@ -1344,7 +1362,7 @@ on the notes.rewrite.<command> and notes.rewriteRef diff --git a/git-notes.txt b/git-notes.txt index 0a4200674..efbc10f0f 100644 --- a/git-notes.txt +++ b/git-notes.txt @@ -44,7 +44,7 @@ using the `--notes` option. Such notes are added as a patch commentary after a three dash separator line. To change which notes are shown by 'git log', see the -"notes.displayRef" configuration in linkgit:git-log[1]. +"notes.displayRef" discussion in <>. See the "notes.rewrite." configuration for a way to carry notes across commands that rewrite commits. @@ -307,6 +307,7 @@ with 'git log', so if you use such notes, you'll probably need to write some special-purpose tools to do something useful with them. +[[CONFIGURATION]] CONFIGURATION ------------- @@ -316,57 +317,9 @@ core.notesRef:: This setting can be overridden through the environment and command line. -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 above for more information on each strategy. -+ -This setting can be overridden by passing the `--strategy` option. - -notes..mergeStrategy:: - Which merge strategy to choose when doing a notes merge into - refs/notes/. This overrides the more general - "notes.mergeStrategy". See the "NOTES MERGE STRATEGIES" section above - for more information on each available strategy. - -notes.displayRef:: - Which ref (or refs, if a glob or specified more than once), in - addition to the default set by `core.notesRef` or - `GIT_NOTES_REF`, to read notes from when showing commit - messages with the 'git log' family of commands. - This setting can be overridden on the command line or by the - `GIT_NOTES_DISPLAY_REF` environment variable. - See linkgit:git-log[1]. - -notes.rewrite.:: - When rewriting commits with (currently `amend` or - `rebase`), if this variable is `false`, git will not copy - notes from the original to the rewritten commit. Defaults to - `true`. See also "`notes.rewriteRef`" below. -+ -This setting can be overridden by the `GIT_NOTES_REWRITE_REF` -environment variable. +include::includes/cmd-config-section-rest.txt[] -notes.rewriteMode:: - When copying notes during a rewrite, 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. 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. -+ -Can be overridden with the `GIT_NOTES_REWRITE_REF` environment variable. +include::config/notes.txt[] ENVIRONMENT diff --git a/git-push.html b/git-push.html index 99952234c..d32cbbf5e 100644 --- a/git-push.html +++ b/git-push.html @@ -1961,6 +1961,218 @@ As in #1, the attacker chooses an object ID X to steal. The victim sends
+

CONFIGURATION

+
+

Everything below this line in this section is selectively included +from the git-config(1) documentation. The content is the same +as what’s found there:

+
+
+push.autoSetupRemote +
+
+

+ If set to "true" assume --set-upstream on default push when no + upstream tracking exists for the current branch; this option + takes effect with push.default options simple, upstream, + and current. It is useful if by default you want new branches + to be pushed to the default remote (like the behavior of + push.default=current) and you also want the upstream tracking + to be set. Workflows most likely to benefit from this option are + simple central workflows where all branches are expected to + have the same name on the remote. +

+
+
+push.default +
+
+

+ Defines the action git push should take if no refspec is + given (whether from the command-line, config, or elsewhere). + Different values are well-suited for + specific workflows; for instance, in a purely central workflow + (i.e. the fetch source is equal to the push destination), + upstream is probably what you want. Possible values are: +

+
+
+
    +
  • +

    +nothing - do not push anything (error out) unless a refspec is + given. This is primarily meant for people who want to + avoid mistakes by always being explicit. +

    +
  • +
  • +

    +current - push the current branch to update a branch with the same + name on the receiving end. Works in both central and non-central + workflows. +

    +
  • +
  • +

    +upstream - push the current branch back to the branch whose + changes are usually integrated into the current branch (which is + called @{upstream}). This mode only makes sense if you are + pushing to the same repository you would normally pull from + (i.e. central workflow). +

    +
  • +
  • +

    +tracking - This is a deprecated synonym for upstream. +

    +
  • +
  • +

    +simple - pushes the current branch with the same name on the remote. +

    +

    If you are working on a centralized workflow (pushing to the same repository you +pull from, which is typically origin), then you need to configure an upstream +branch with the same name.

    +

    This mode is the default since Git 2.0, and is the safest option suited for +beginners.

    +
  • +
  • +

    +matching - push all branches having the same name on both ends. + This makes the repository you are pushing to remember the set of + branches that will be pushed out (e.g. if you always push maint + and master there and no other branches, the repository you push + to will have these two branches, and your local maint and + master will be pushed there). +

    +

    To use this mode effectively, you have to make sure all the +branches you would push out are ready to be pushed out before +running git push, as the whole point of this mode is to allow you +to push all of the branches in one go. If you usually finish work +on only one branch and push out the result, while other branches are +unfinished, this mode is not for you. Also this mode is not +suitable for pushing into a shared central repository, as other +people may add new branches there, or update the tip of existing +branches outside your control.

    +

    This used to be the default, but not since Git 2.0 (simple is the +new default).

    +
  • +
+
+
+
+push.followTags +
+
+

+ If set to true enable --follow-tags option by default. You + may override this configuration at time of push by specifying + --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 + passed to 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 + override a value from a lower-priority config file. An explicit + command-line flag always overrides this config option. +

+
+
+push.pushOption +
+
+

+ When no --push-option=<option> argument is given from the + command line, git push behaves as if each <value> of + this variable is given as --push-option=<value>. +

+

This is a multi-valued variable, and an empty value can be used in a +higher priority configuration file (e.g. .git/config in a +repository) to clear the values inherited from a lower priority +configuration files (e.g. $HOME/.gitconfig).

+
+
+
Example:
+
+/etc/gitconfig
+  push.pushoption = a
+  push.pushoption = b
+
+~/.gitconfig
+  push.pushoption = c
+
+repo/.git/config
+  push.pushoption =
+  push.pushoption = b
+
+This will result in only b (a and c are cleared).
+
+
+
+push.recurseSubmodules +
+
+

+ Make sure all submodule commits used by the revisions to be pushed + are available on a remote-tracking branch. If the value is check + then Git will verify that all submodule commits that changed in the + revisions to be pushed are available on at least one remote of the + submodule. If any commits are missing, the push will be aborted and + exit with non-zero status. If the value is on-demand then all + submodules that changed in the revisions to be pushed will be + pushed. If on-demand was not able to push all necessary revisions + it will also be aborted and exit with non-zero status. If the value + is no then default behavior of ignoring submodules when pushing + is retained. You may override this configuration at time of push by + specifying --recurse-submodules=check|on-demand|no. + If not set, no is used by default, unless submodule.recurse is + set (in which case a true value means on-demand). +

+
+
+push.useForceIfIncludes +
+
+

+ If set to "true", it is equivalent to specifying + --force-if-includes as an option to git-push(1) + in the command line. Adding --no-force-if-includes at the + time of push overrides this configuration setting. +

+
+
+push.negotiate +
+
+

+ If set to "true", attempt to reduce the size of the packfile + sent by rounds of negotiation in which the client and the + server attempt to find commits in common. If "false", Git will + rely solely on the server’s ref advertisement to find commits + in common. +

+
+
+push.useBitmaps +
+
+

+ If set to "false", disable use of bitmaps for "git push" even if + pack.useBitmaps is "true", without preventing other git operations + from using bitmaps. Default is true. +

+
+
+
+
+

GIT

Part of the git(1) suite

@@ -1971,7 +2183,7 @@ As in #1, the attacker chooses an object ID X to steal. The victim sends diff --git a/git-push.txt b/git-push.txt index 2f25aa3a2..def7657ef 100644 --- a/git-push.txt +++ b/git-push.txt @@ -692,6 +692,13 @@ a `git gc` command on the origin repository. include::transfer-data-leaks.txt[] +CONFIGURATION +------------- + +include::includes/cmd-config-section-all.txt[] + +include::config/push.txt[] + GIT --- Part of the linkgit:git[1] suite diff --git a/git-rebase.html b/git-rebase.html index b653e5862..6b97948bf 100644 --- a/git-rebase.html +++ b/git-rebase.html @@ -2610,6 +2610,9 @@ merge cmake

CONFIGURATION

+

Everything below this line in this section is selectively included +from the git-config(1) documentation. The content is the same +as what’s found there:

rebase.backend @@ -2754,7 +2757,7 @@ sequence.editor diff --git a/git-rebase.txt b/git-rebase.txt index 187794218..9cb8931c7 100644 --- a/git-rebase.txt +++ b/git-rebase.txt @@ -1259,6 +1259,8 @@ merge cmake CONFIGURATION ------------- +include::includes/cmd-config-section-all.txt[] + include::config/rebase.txt[] include::config/sequencer.txt[] diff --git a/git-revert.html b/git-revert.html index caa722d1e..35c9b38a0 100644 --- a/git-revert.html +++ b/git-revert.html @@ -1024,6 +1024,25 @@ effect to your index in a row.

+

CONFIGURATION

+
+

Everything below this line in this section is selectively included +from the git-config(1) documentation. The content is the same +as what’s found there:

+
+
+revert.reference +
+
+

+ Setting this variable to true makes git revert behave + as if the --reference option is given. +

+
+
+
+
+

SEE ALSO

@@ -1040,7 +1059,7 @@ effect to your index in a row.

diff --git a/git-revert.txt b/git-revert.txt index 0105a54c1..5016755ef 100644 --- a/git-revert.txt +++ b/git-revert.txt @@ -142,6 +142,13 @@ EXAMPLES changes. The revert only modifies the working tree and the index. +CONFIGURATION +------------- + +include::includes/cmd-config-section-all.txt[] + +include::config/revert.txt[] + SEE ALSO -------- linkgit:git-cherry-pick[1] diff --git a/git-send-email.html b/git-send-email.html index caebe9003..730286199 100644 --- a/git-send-email.html +++ b/git-send-email.html @@ -1507,8 +1507,73 @@ default to --validate.

CONFIGURATION

+

Everything below this line in this section is selectively included +from the git-config(1) documentation. The content is the same +as what’s found there:

+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. +

+
+
+sendemail.smtpEncryption +
+
+

+ See git-send-email(1) for description. Note that this + setting is not subject to the identity mechanism. +

+
+
+sendemail.smtpsslcertpath +
+
+

+ Path to ca-certificates (either a directory or a single file). + Set it to an empty string to disable certificate verification. +

+
+
+sendemail.<identity>.* +
+
+

+ Identity-specific versions of the sendemail.* parameters + found below, taking precedence over those when this + identity is selected, through either the command-line or + sendemail.identity. +

+
+
+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 + 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 + in the git-send-email(1) documentation for the meaning of these + values. +

+
+
sendemail.aliasesFile
@@ -1567,24 +1632,114 @@ Warnings are printed on the standard error output for any
-sendemail.multiEdit +sendemail.annotate +
+
+sendemail.bcc +
+
+sendemail.cc +
+
+sendemail.ccCmd +
+
+sendemail.chainReplyTo +
+
+sendemail.envelopeSender +
+
+sendemail.from +
+
+sendemail.signedoffbycc +
+
+sendemail.smtpPass +
+
+sendemail.suppresscc +
+
+sendemail.suppressFrom +
+
+sendemail.to +
+
+sendemail.tocmd +
+
+sendemail.smtpDomain +
+
+sendemail.smtpServer +
+
+sendemail.smtpServerPort +
+
+sendemail.smtpServerOption +
+
+sendemail.smtpUser +
+
+sendemail.thread +
+
+sendemail.transferEncoding +
+
+sendemail.validate +
+
+sendemail.xmailer

- 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 - after the other, spawning a new editor each time. + These configuration variables all provide a default for + git-send-email(1) command-line options. See its + documentation for details.

-sendemail.confirm +sendemail.signedoffcc (deprecated)

- Sets the default for whether to confirm before sending. Must be - one of always, never, cc, compose, or auto. See --confirm - in the previous section for the meaning of these values. + Deprecated alias for sendemail.signedoffbycc. +

+
+
+sendemail.smtpBatchSize +
+
+

+ Number of messages to be sent per connection, after that a relogin + will happen. If the value is 0 or undefined, send all messages in + one connection. + See also the --batch-size option of git-send-email(1). +

+
+
+sendemail.smtpReloginDelay +
+
+

+ Seconds wait before reconnecting to smtp server. + See also the --relogin-delay option of git-send-email(1). +

+
+
+sendemail.forbidSendmailVariables +
+
+

+ To avoid common misconfiguration mistakes, git-send-email(1) + will abort with a warning if any configuration options for "sendmail" + exist. Set this variable to bypass the check.

@@ -1648,7 +1803,7 @@ Authen::SASL and Mail::Address.

diff --git a/git-send-email.txt b/git-send-email.txt index 41cd8cb42..329004305 100644 --- a/git-send-email.txt +++ b/git-send-email.txt @@ -456,41 +456,9 @@ Information CONFIGURATION ------------- -sendemail.aliasesFile:: - To avoid typing long email addresses, point this to one or more - email aliases files. You must also supply `sendemail.aliasFileType`. +include::includes/cmd-config-section-all.txt[] -sendemail.aliasFileType:: - Format of the file(s) specified in sendemail.aliasesFile. Must be - one of 'mutt', 'mailrc', 'pine', 'elm', or 'gnus', or 'sendmail'. -+ -What an alias file in each format looks like can be found in -the documentation of the email program of the same name. The -differences and limitations from the standard formats are -described below: -+ --- -sendmail;; -* Quoted aliases and quoted addresses are not supported: lines that - contain a `"` symbol are ignored. -* Redirection to a file (`/path/name`) or pipe (`|command`) is not - supported. -* File inclusion (`:include: /path/name`) is not supported. -* Warnings are printed on the standard error output for any - explicitly unsupported constructs, and any other lines that are not - recognized by the parser. --- - -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 - 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` - in the previous section for the meaning of these values. +include::config/sendemail.txt[] EXAMPLES -------- diff --git a/git-show-branch.html b/git-show-branch.html index b221bb8c9..83a3312dc 100644 --- a/git-show-branch.html +++ b/git-show-branch.html @@ -1037,6 +1037,25 @@ topologically related with each other.

+

CONFIGURATION

+
+

Everything below this line in this section is selectively included +from the git-config(1) documentation. The content is the same +as what’s found there:

+
+
+showBranch.default +
+
+

+ The default set of branches for git-show-branch(1). + See git-show-branch(1). +

+
+
+
+
+

GIT

Part of the git(1) suite

@@ -1047,7 +1066,7 @@ topologically related with each other.

diff --git a/git-show-branch.txt b/git-show-branch.txt index 5cc2fcefb..e5ec6b467 100644 --- a/git-show-branch.txt +++ b/git-show-branch.txt @@ -199,6 +199,13 @@ shows 10 reflog entries going back from the tip as of 1 hour ago. Without `--list`, the output also shows how these tips are topologically related with each other. +CONFIGURATION +------------- + +include::includes/cmd-config-section-all.txt[] + +include::config/showbranch.txt[] + GIT --- Part of the linkgit:git[1] suite diff --git a/git-stash.html b/git-stash.html index f17fd35ea..5a2eb3527 100644 --- a/git-stash.html +++ b/git-stash.html @@ -1264,6 +1264,46 @@ xargs git log --merges --no-walk --grep=WIP
+

CONFIGURATION

+
+

Everything below this line in this section is selectively included +from the git-config(1) documentation. The content is the same +as what’s found there:

+
+
+stash.showIncludeUntracked +
+
+

+ If this is set to true, the git stash show command will show + the untracked files of a stash entry. Defaults to false. See + description of show command in git-stash(1). +

+
+
+stash.showPatch +
+
+

+ If this is set to true, the git stash show command without an + option will show the stash entry in patch form. Defaults to false. + See description of show command in git-stash(1). +

+
+
+stash.showStat +
+
+

+ If this is set to true, the git stash show command without an + option will show diffstat of the stash entry. Defaults to true. + See description of show command in git-stash(1). +

+
+
+
+
+

SEE ALSO

git-checkout(1), @@ -1284,7 +1324,7 @@ xargs git log --merges --no-walk --grep=WIP

diff --git a/git-stash.txt b/git-stash.txt index 6e15f4752..c5d709182 100644 --- a/git-stash.txt +++ b/git-stash.txt @@ -382,6 +382,13 @@ grep commit | cut -d\ -f3 | xargs git log --merges --no-walk --grep=WIP ---------------------------------------------------------------- +CONFIGURATION +------------- + +include::includes/cmd-config-section-all.txt[] + +include::config/stash.txt[] + SEE ALSO -------- diff --git a/git-switch.html b/git-switch.html index dd407b75f..6106d7415 100644 --- a/git-switch.html +++ b/git-switch.html @@ -1109,6 +1109,79 @@ always create a new name for it (without switching away):

+

CONFIGURATION

+
+

Everything below this line in this section is selectively included +from the git-config(1) documentation. The content is the same +as what’s found there:

+
+
+checkout.defaultRemote +
+
+

+ When you run git checkout <something> + or git switch <something> and only have one + remote, it may implicitly fall back on checking out and + tracking e.g. origin/<something>. This stops working as soon + as you have more than one remote with a <something> + reference. This setting allows for setting the name of a + preferred remote that should always win when it comes to + disambiguation. The typical use-case is to set this to + origin. +

+

Currently this is used by git-switch(1) and +git-checkout(1) when git checkout <something> +or git switch <something> +will checkout the <something> branch on another remote, +and by git-worktree(1) when git worktree add refers to a +remote branch. This setting might be used for other checkout-like +commands or functionality in the future.

+
+
+checkout.guess +
+
+

+ Provides the default value for the --guess or --no-guess + option in git checkout and git switch. See + git-switch(1) and git-checkout(1). +

+
+
+checkout.workers +
+
+

+ The number of parallel workers to use when updating the working tree. + The default is one, i.e. sequential execution. If set to a value less + than one, Git will use as many workers as the number of logical cores + available. This setting and checkout.thresholdForParallelism affect + all commands that perform checkout. E.g. checkout, clone, reset, + sparse-checkout, etc. +

+

Note: parallel checkout usually delivers better performance for repositories +located on SSDs or over NFS. For repositories on spinning disks and/or machines +with a small number of cores, the default sequential checkout often performs +better. The size and compression level of a repository might also influence how +well the parallel version performs.

+
+
+checkout.thresholdForParallelism +
+
+

+ When running parallel checkout with a small number of files, the cost + of subprocess spawning and inter-process communication might outweigh + the parallelization gains. This setting allows to define the minimum + number of files for which parallel checkout should be attempted. The + default is 100. +

+
+
+
+
+

SEE ALSO

git-checkout(1), @@ -1126,7 +1199,7 @@ always create a new name for it (without switching away):

diff --git a/git-switch.txt b/git-switch.txt index bbcbdceb4..c60fc9c13 100644 --- a/git-switch.txt +++ b/git-switch.txt @@ -265,6 +265,13 @@ always create a new name for it (without switching away): $ git switch -c good-surprises ------------ +CONFIGURATION +------------- + +include::includes/cmd-config-section-all.txt[] + +include::config/checkout.txt[] + SEE ALSO -------- linkgit:git-checkout[1], diff --git a/howto/coordinate-embargoed-releases.html b/howto/coordinate-embargoed-releases.html index 4fb49daf9..466249858 100644 --- a/howto/coordinate-embargoed-releases.html +++ b/howto/coordinate-embargoed-releases.html @@ -873,7 +873,7 @@ Thanks, diff --git a/howto/keep-canonical-history-correct.html b/howto/keep-canonical-history-correct.html index 7beea33ef..43f60fc69 100644 --- a/howto/keep-canonical-history-correct.html +++ b/howto/keep-canonical-history-correct.html @@ -938,7 +938,7 @@ tip of your master again and redo the two merges:

diff --git a/howto/maintain-git.html b/howto/maintain-git.html index 2420ae585..3b2a1a6de 100644 --- a/howto/maintain-git.html +++ b/howto/maintain-git.html @@ -1469,7 +1469,7 @@ $ git update-ref -d $mf/ai/topic diff --git a/howto/new-command.html b/howto/new-command.html index fabcf1d7c..ec0c6d902 100644 --- a/howto/new-command.html +++ b/howto/new-command.html @@ -863,7 +863,7 @@ letter [PATCH 0/n]. diff --git a/howto/rebase-from-internal-branch.html b/howto/rebase-from-internal-branch.html index 29274ac99..89670416d 100644 --- a/howto/rebase-from-internal-branch.html +++ b/howto/rebase-from-internal-branch.html @@ -895,7 +895,7 @@ the #1' commit.

diff --git a/howto/rebuild-from-update-hook.html b/howto/rebuild-from-update-hook.html index b562d64ed..2320ba70d 100644 --- a/howto/rebuild-from-update-hook.html +++ b/howto/rebuild-from-update-hook.html @@ -847,7 +847,7 @@ This is still crude and does not protect against simultaneous diff --git a/howto/recover-corrupted-blob-object.html b/howto/recover-corrupted-blob-object.html index f3b706786..be52fdb12 100644 --- a/howto/recover-corrupted-blob-object.html +++ b/howto/recover-corrupted-blob-object.html @@ -880,7 +880,7 @@ thing.

diff --git a/howto/recover-corrupted-object-harder.html b/howto/recover-corrupted-object-harder.html index 662f5edec..a2b2753a6 100644 --- a/howto/recover-corrupted-object-harder.html +++ b/howto/recover-corrupted-object-harder.html @@ -1189,7 +1189,7 @@ int main(int argc, char **argv) diff --git a/howto/revert-a-faulty-merge.html b/howto/revert-a-faulty-merge.html index bb8f98ba5..19fbf5d4f 100644 --- a/howto/revert-a-faulty-merge.html +++ b/howto/revert-a-faulty-merge.html @@ -1025,7 +1025,7 @@ P---o---o---M---x---x---W---x---M2 diff --git a/howto/revert-branch-rebase.html b/howto/revert-branch-rebase.html index d6c016206..105e0d426 100644 --- a/howto/revert-branch-rebase.html +++ b/howto/revert-branch-rebase.html @@ -907,7 +907,7 @@ Committed merge 7fb9b7262a1d1e0a47bbfdcbbcf50ce0635d3f8f diff --git a/howto/separating-topic-branches.html b/howto/separating-topic-branches.html index 902fcde7e..0c7b6da11 100644 --- a/howto/separating-topic-branches.html +++ b/howto/separating-topic-branches.html @@ -841,7 +841,7 @@ o---o"master" diff --git a/howto/setup-git-server-over-http.html b/howto/setup-git-server-over-http.html index 95a25fe7d..16c0464cc 100644 --- a/howto/setup-git-server-over-http.html +++ b/howto/setup-git-server-over-http.html @@ -1071,7 +1071,7 @@ help diagnosing the problem, but removes security checks.

diff --git a/howto/update-hook-example.html b/howto/update-hook-example.html index 0343a5a67..e0b76e9e3 100644 --- a/howto/update-hook-example.html +++ b/howto/update-hook-example.html @@ -930,7 +930,7 @@ that JC can make non-fast-forward pushes on it.

diff --git a/howto/use-git-daemon.html b/howto/use-git-daemon.html index 2ad97d709..22bca8336 100644 --- a/howto/use-git-daemon.html +++ b/howto/use-git-daemon.html @@ -791,7 +791,7 @@ a good practice to put the paths after a "--" separator.

diff --git a/howto/using-merge-subtree.html b/howto/using-merge-subtree.html index f481e101c..979ec2bfc 100644 --- a/howto/using-merge-subtree.html +++ b/howto/using-merge-subtree.html @@ -848,7 +848,7 @@ Please note that if the other project merges from you, then it will diff --git a/howto/using-signed-tag-in-pull-request.html b/howto/using-signed-tag-in-pull-request.html index 714f7ff0b..f4cb38600 100644 --- a/howto/using-signed-tag-in-pull-request.html +++ b/howto/using-signed-tag-in-pull-request.html @@ -952,7 +952,7 @@ as part of the merge commit.

-- cgit 1.2.3-korg