Merge branch 'jc/environ-docs' into maint-2.38
Documentation on various Boolean GIT_* environment variables have been clarified. * jc/environ-docs: environ: GIT_INDEX_VERSION affects not just a new repository environ: simplify description of GIT_INDEX_FILE environ: GIT_FLUSH should be made a usual Boolean environ: explain Boolean environment variables environ: document GIT_SSL_NO_VERIFY
This commit is contained in:
@ -458,7 +458,12 @@ Please see linkgit:gitglossary[7].
|
|||||||
|
|
||||||
Environment Variables
|
Environment Variables
|
||||||
---------------------
|
---------------------
|
||||||
Various Git commands use the following environment variables:
|
Various Git commands pay attention to environment variables and change
|
||||||
|
their behavior. The environment variables marked as "Boolean" take
|
||||||
|
their values the same way as Boolean valued configuration variables, e.g.
|
||||||
|
"true", "yes", "on" and positive numbers are taken as "yes".
|
||||||
|
|
||||||
|
Here are the variables:
|
||||||
|
|
||||||
The Git Repository
|
The Git Repository
|
||||||
~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~
|
||||||
@ -467,13 +472,13 @@ is worth noting that they may be used/overridden by SCMS sitting above
|
|||||||
Git so take care if using a foreign front-end.
|
Git so take care if using a foreign front-end.
|
||||||
|
|
||||||
`GIT_INDEX_FILE`::
|
`GIT_INDEX_FILE`::
|
||||||
This environment allows the specification of an alternate
|
This environment variable specifies an alternate
|
||||||
index file. If not specified, the default of `$GIT_DIR/index`
|
index file. If not specified, the default of `$GIT_DIR/index`
|
||||||
is used.
|
is used.
|
||||||
|
|
||||||
`GIT_INDEX_VERSION`::
|
`GIT_INDEX_VERSION`::
|
||||||
This environment variable allows the specification of an index
|
This environment variable specifies what index version is used
|
||||||
version for new repositories. It won't affect existing index
|
when writing the index file out. It won't affect existing index
|
||||||
files. By default index file version 2 or 3 is used. See
|
files. By default index file version 2 or 3 is used. See
|
||||||
linkgit:git-update-index[1] for more information.
|
linkgit:git-update-index[1] for more information.
|
||||||
|
|
||||||
@ -530,7 +535,7 @@ double-quotes and respecting backslash escapes. E.g., the value
|
|||||||
When run in a directory that does not have ".git" repository
|
When run in a directory that does not have ".git" repository
|
||||||
directory, Git tries to find such a directory in the parent
|
directory, Git tries to find such a directory in the parent
|
||||||
directories to find the top of the working tree, but by default it
|
directories to find the top of the working tree, but by default it
|
||||||
does not cross filesystem boundaries. This environment variable
|
does not cross filesystem boundaries. This Boolean environment variable
|
||||||
can be set to true to tell Git not to stop at filesystem
|
can be set to true to tell Git not to stop at filesystem
|
||||||
boundaries. Like `GIT_CEILING_DIRECTORIES`, this will not affect
|
boundaries. Like `GIT_CEILING_DIRECTORIES`, this will not affect
|
||||||
an explicit repository directory set via `GIT_DIR` or on the
|
an explicit repository directory set via `GIT_DIR` or on the
|
||||||
@ -682,6 +687,11 @@ for further details.
|
|||||||
plink or tortoiseplink. This variable overrides the config setting
|
plink or tortoiseplink. This variable overrides the config setting
|
||||||
`ssh.variant` that serves the same purpose.
|
`ssh.variant` that serves the same purpose.
|
||||||
|
|
||||||
|
`GIT_SSL_NO_VERIFY`::
|
||||||
|
Setting and exporting this environment variable to any value
|
||||||
|
tells Git not to verify the SSL certificate when fetching or
|
||||||
|
pushing over HTTPS.
|
||||||
|
|
||||||
`GIT_ASKPASS`::
|
`GIT_ASKPASS`::
|
||||||
If this environment variable is set, then Git commands which need to
|
If this environment variable is set, then Git commands which need to
|
||||||
acquire passwords or passphrases (e.g. for HTTP or IMAP authentication)
|
acquire passwords or passphrases (e.g. for HTTP or IMAP authentication)
|
||||||
@ -690,7 +700,7 @@ for further details.
|
|||||||
option in linkgit:git-config[1].
|
option in linkgit:git-config[1].
|
||||||
|
|
||||||
`GIT_TERMINAL_PROMPT`::
|
`GIT_TERMINAL_PROMPT`::
|
||||||
If this environment variable is set to `0`, git will not prompt
|
If this Boolean environment variable is set to false, git will not prompt
|
||||||
on the terminal (e.g., when asking for HTTP authentication).
|
on the terminal (e.g., when asking for HTTP authentication).
|
||||||
|
|
||||||
`GIT_CONFIG_GLOBAL`::
|
`GIT_CONFIG_GLOBAL`::
|
||||||
@ -705,13 +715,14 @@ for further details.
|
|||||||
|
|
||||||
`GIT_CONFIG_NOSYSTEM`::
|
`GIT_CONFIG_NOSYSTEM`::
|
||||||
Whether to skip reading settings from the system-wide
|
Whether to skip reading settings from the system-wide
|
||||||
`$(prefix)/etc/gitconfig` file. This environment variable can
|
`$(prefix)/etc/gitconfig` file. This Boolean environment variable can
|
||||||
be used along with `$HOME` and `$XDG_CONFIG_HOME` to create a
|
be used along with `$HOME` and `$XDG_CONFIG_HOME` to create a
|
||||||
predictable environment for a picky script, or you can set it
|
predictable environment for a picky script, or you can set it
|
||||||
temporarily to avoid using a buggy `/etc/gitconfig` file while
|
to true to temporarily avoid using a buggy `/etc/gitconfig` file while
|
||||||
waiting for someone with sufficient permissions to fix it.
|
waiting for someone with sufficient permissions to fix it.
|
||||||
|
|
||||||
`GIT_FLUSH`::
|
`GIT_FLUSH`::
|
||||||
|
// NEEDSWORK: make it into a usual Boolean environment variable
|
||||||
If this environment variable is set to "1", then commands such
|
If this environment variable is set to "1", then commands such
|
||||||
as 'git blame' (in incremental mode), 'git rev-list', 'git log',
|
as 'git blame' (in incremental mode), 'git rev-list', 'git log',
|
||||||
'git check-attr' and 'git check-ignore' will
|
'git check-attr' and 'git check-ignore' will
|
||||||
@ -852,11 +863,11 @@ for full details.
|
|||||||
`GIT_TRACE_REDACT`::
|
`GIT_TRACE_REDACT`::
|
||||||
By default, when tracing is activated, Git redacts the values of
|
By default, when tracing is activated, Git redacts the values of
|
||||||
cookies, the "Authorization:" header, the "Proxy-Authorization:"
|
cookies, the "Authorization:" header, the "Proxy-Authorization:"
|
||||||
header and packfile URIs. Set this variable to `0` to prevent this
|
header and packfile URIs. Set this Boolean environment variable to false to prevent this
|
||||||
redaction.
|
redaction.
|
||||||
|
|
||||||
`GIT_LITERAL_PATHSPECS`::
|
`GIT_LITERAL_PATHSPECS`::
|
||||||
Setting this variable to `1` will cause Git to treat all
|
Setting this Boolean environment variable to true will cause Git to treat all
|
||||||
pathspecs literally, rather than as glob patterns. For example,
|
pathspecs literally, rather than as glob patterns. For example,
|
||||||
running `GIT_LITERAL_PATHSPECS=1 git log -- '*.c'` will search
|
running `GIT_LITERAL_PATHSPECS=1 git log -- '*.c'` will search
|
||||||
for commits that touch the path `*.c`, not any paths that the
|
for commits that touch the path `*.c`, not any paths that the
|
||||||
@ -865,15 +876,15 @@ for full details.
|
|||||||
`git ls-tree`, `--raw` diff output, etc).
|
`git ls-tree`, `--raw` diff output, etc).
|
||||||
|
|
||||||
`GIT_GLOB_PATHSPECS`::
|
`GIT_GLOB_PATHSPECS`::
|
||||||
Setting this variable to `1` will cause Git to treat all
|
Setting this Boolean environment variable to true will cause Git to treat all
|
||||||
pathspecs as glob patterns (aka "glob" magic).
|
pathspecs as glob patterns (aka "glob" magic).
|
||||||
|
|
||||||
`GIT_NOGLOB_PATHSPECS`::
|
`GIT_NOGLOB_PATHSPECS`::
|
||||||
Setting this variable to `1` will cause Git to treat all
|
Setting this Boolean environment variable to true will cause Git to treat all
|
||||||
pathspecs as literal (aka "literal" magic).
|
pathspecs as literal (aka "literal" magic).
|
||||||
|
|
||||||
`GIT_ICASE_PATHSPECS`::
|
`GIT_ICASE_PATHSPECS`::
|
||||||
Setting this variable to `1` will cause Git to treat all
|
Setting this Boolean environment variable to true will cause Git to treat all
|
||||||
pathspecs as case-insensitive.
|
pathspecs as case-insensitive.
|
||||||
|
|
||||||
`GIT_REFLOG_ACTION`::
|
`GIT_REFLOG_ACTION`::
|
||||||
@ -887,7 +898,7 @@ for full details.
|
|||||||
end user, to be recorded in the body of the reflog.
|
end user, to be recorded in the body of the reflog.
|
||||||
|
|
||||||
`GIT_REF_PARANOIA`::
|
`GIT_REF_PARANOIA`::
|
||||||
If set to `0`, ignore broken or badly named refs when iterating
|
If this Boolean environment variable is set to false, ignore broken or badly named refs when iterating
|
||||||
over lists of refs. Normally Git will try to include any such
|
over lists of refs. Normally Git will try to include any such
|
||||||
refs, which may cause some operations to fail. This is usually
|
refs, which may cause some operations to fail. This is usually
|
||||||
preferable, as potentially destructive operations (e.g.,
|
preferable, as potentially destructive operations (e.g.,
|
||||||
@ -906,7 +917,7 @@ for full details.
|
|||||||
`protocol.allow` in linkgit:git-config[1] for more details.
|
`protocol.allow` in linkgit:git-config[1] for more details.
|
||||||
|
|
||||||
`GIT_PROTOCOL_FROM_USER`::
|
`GIT_PROTOCOL_FROM_USER`::
|
||||||
Set to 0 to prevent protocols used by fetch/push/clone which are
|
Set this Boolean environment variable to false to prevent protocols used by fetch/push/clone which are
|
||||||
configured to the `user` state. This is useful to restrict recursive
|
configured to the `user` state. This is useful to restrict recursive
|
||||||
submodule initialization from an untrusted repository or for programs
|
submodule initialization from an untrusted repository or for programs
|
||||||
which feed potentially-untrusted URLS to git commands. See
|
which feed potentially-untrusted URLS to git commands. See
|
||||||
@ -934,7 +945,7 @@ only affects clones and fetches; it is not yet used for pushes (but may
|
|||||||
be in the future).
|
be in the future).
|
||||||
|
|
||||||
`GIT_OPTIONAL_LOCKS`::
|
`GIT_OPTIONAL_LOCKS`::
|
||||||
If set to `0`, Git will complete any requested operation without
|
If this Boolean environment variable is set to false, Git will complete any requested operation without
|
||||||
performing any optional sub-operations that require taking a lock.
|
performing any optional sub-operations that require taking a lock.
|
||||||
For example, this will prevent `git status` from refreshing the
|
For example, this will prevent `git status` from refreshing the
|
||||||
index as a side effect. This is useful for processes running in
|
index as a side effect. This is useful for processes running in
|
||||||
|
@ -23,6 +23,7 @@ void maybe_flush_or_die(FILE *f, const char *desc)
|
|||||||
|
|
||||||
if (f == stdout) {
|
if (f == stdout) {
|
||||||
if (skip_stdout_flush < 0) {
|
if (skip_stdout_flush < 0) {
|
||||||
|
/* NEEDSWORK: make this a normal Boolean */
|
||||||
cp = getenv("GIT_FLUSH");
|
cp = getenv("GIT_FLUSH");
|
||||||
if (cp)
|
if (cp)
|
||||||
skip_stdout_flush = (atoi(cp) == 0);
|
skip_stdout_flush = (atoi(cp) == 0);
|
||||||
|
Reference in New Issue
Block a user