Home Explore Blog CI



git

11th chunk of `Documentation/git.adoc`
5b07ef0ec80748b9ba4ebeef6fd8cf4795ebc535be5f30e60000000100000fa3

`GIT_TRACE_SHALLOW`::
	Enables trace messages that can help debugging fetching /
	cloning of shallow repositories.
	See `GIT_TRACE` for available trace output options.

`GIT_TRACE_CURL`::
	Enables a curl full trace dump of all incoming and outgoing data,
	including descriptive information, of the git transport protocol.
	This is similar to doing curl `--trace-ascii` on the command line.
	See `GIT_TRACE` for available trace output options.

`GIT_TRACE_CURL_NO_DATA`::
	When a curl trace is enabled (see `GIT_TRACE_CURL` above), do not dump
	data (that is, only dump info lines and headers).

`GIT_TRACE2`::
	Enables more detailed trace messages from the "trace2" library.
	Output from `GIT_TRACE2` is a simple text-based format for human
	readability.
+
If this variable is set to "1", "2" or "true" (comparison
is case insensitive), trace messages will be printed to
stderr.
+
If the variable is set to an integer value greater than 2
and lower than 10 (strictly) then Git will interpret this
value as an open file descriptor and will try to write the
trace messages into this file descriptor.
+
Alternatively, if the variable is set to an absolute path
(starting with a '/' character), Git will interpret this
as a file path and will try to append the trace messages
to it.  If the path already exists and is a directory, the
trace messages will be written to files (one per process)
in that directory, named according to the last component
of the SID and an optional counter (to avoid filename
collisions).
+
In addition, if the variable is set to
`af_unix:[<socket-type>:]<absolute-pathname>`, Git will try
to open the path as a Unix Domain Socket.  The socket type
can be either `stream` or `dgram`.
+
Unsetting the variable, or setting it to empty, "0" or
"false" (case insensitive) disables trace messages.
+
See link:technical/api-trace2.html[Trace2 documentation]
for full details.


`GIT_TRACE2_EVENT`::
	This setting writes a JSON-based format that is suited for machine
	interpretation.
	See `GIT_TRACE2` for available trace output options and
	link:technical/api-trace2.html[Trace2 documentation] for full details.

`GIT_TRACE2_PERF`::
	In addition to the text-based messages available in `GIT_TRACE2`, this
	setting writes a column-based format for understanding nesting
	regions.
	See `GIT_TRACE2` for available trace output options and
	link:technical/api-trace2.html[Trace2 documentation] for full details.

`GIT_TRACE_REDACT`::
	By default, when tracing is activated, Git redacts the values of
	cookies, the "Authorization:" header, the "Proxy-Authorization:"
	header and packfile URIs. Set this Boolean environment variable to false to prevent this
	redaction.

`GIT_NO_REPLACE_OBJECTS`::
	Setting and exporting this environment variable tells Git to
	ignore replacement refs and do not replace Git objects.

`GIT_LITERAL_PATHSPECS`::
	Setting this Boolean environment variable to true will cause Git to treat all
	pathspecs literally, rather than as glob patterns. For example,
	running `GIT_LITERAL_PATHSPECS=1 git log -- '*.c'` will search
	for commits that touch the path `*.c`, not any paths that the
	glob `*.c` matches. You might want this if you are feeding
	literal paths to Git (e.g., paths previously given to you by
	`git ls-tree`, `--raw` diff output, etc).

`GIT_GLOB_PATHSPECS`::
	Setting this Boolean environment variable to true will cause Git to treat all
	pathspecs as glob patterns (aka "glob" magic).

`GIT_NOGLOB_PATHSPECS`::
	Setting this Boolean environment variable to true will cause Git to treat all
	pathspecs as literal (aka "literal" magic).

`GIT_ICASE_PATHSPECS`::
	Setting this Boolean environment variable to true will cause Git to treat all
	pathspecs as case-insensitive.

`GIT_NO_LAZY_FETCH`::
	Setting this Boolean environment variable to true tells Git
	not to lazily fetch missing objects from the promisor remote
	on demand.

`GIT_REFLOG_ACTION`::
	When a ref is updated, reflog entries are created to keep
	track of the reason why the ref

Title: Git Environment Variables for Tracing and Configuration
Summary
This section of the Git documentation covers environment variables that control tracing, debugging, and configuration options, including variables for tracing shallow repositories, curl output, and performance, as well as variables for customizing pathspec behavior, reflog actions, and lazy fetching.