git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 2/2] trace2: document the supported values of GIT_TRACE2* env variables

From
SZEDER Gábor <szeder.dev@gmail.com>
Date
May 19, 2019, 14:43 UTC
Message-ID
<20190519144309.9597-2-szeder.dev@gmail.com>
In-Reply-To
<20190519144309.9597-1-szeder.dev@gmail.com>

The descriptions of the GIT_TRACE2* environment variables link to the technical docs for further details on the supported values. However, a link like this only really works if the docs are viewed in a browser and the full documentation is available. OTOH, in 'man git' there are no links to conveniently click on, and distro-shipped git packages tend to include only the man pages, while the technical docs and the docs in html format are in a separate 'git-doc' package.

So let's describe the supported values to make the manpage more self-contained, but still keep the references to the technical docs because the details of the SID, and the JSON and perf output formats are definitely beyond the scope of 'man git'.

Signed-off-by: SZEDER Gábor <szeder.dev@gmail.com>
---
 Documentation/git.txt | 43 +++++++++++++++++++++++++++++++++++--------
 1 file changed, 35 insertions(+), 8 deletions(-)
diff --git a/Documentation/git.txt b/Documentation/git.txt
index fcf81e3acf..6ddc1e2ca6 100644
--- a/Documentation/git.txt
+++ b/Documentation/git.txt
@@ -665,21 +665,48 @@ of clones and fetches.
 	Output from `GIT_TRACE2` is a simple text-based format for human
 	readability.
 +
-The `GIT_TRACE2` variables can take many values. Any value available to
-the `GIT_TRACE` variables is also available to `GIT_TRACE2`. The `GIT_TRACE2`
-variables can also specify a Unix Domain Socket. See
-link:technical/api-trace2.html[Trace2 documentation] for full details.
+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 link:technical/api-trace2.html[Trace2 documentation]
-	for full details.
+	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 link:technical/api-trace2.html[Trace2 documentation]
-	for full details.
+	regions.
+	See `GIT_TRACE2` for available trace output options and
+	link:technical/api-trace2.html[Trace2 documentation] for full details.
 
 `GIT_REDACT_COOKIES`::
 	This can be set to a comma-separated list of strings. When a curl trace
-- 
2.22.0.rc1.424.g15834b9bb1
Previous: SZEDER GáborNext: Junio C Hamano
Message 5 of 13 in “trace2: Add variable description to git.txt”
  1. 0/1 trace2: Add variable description to git.txtDerrick Stolee via GitGitGadget, May 10, 2019
  2. 1/1 trace2: Add variable description to git.txtDerrick Stolee via GitGitGadget, May 10, 2019
  3. SZEDER GáborMay 10, 2019
  4. 1/2 trace2: rename environment variables to GIT_TRACE2*SZEDER Gábor, May 19, 2019
  5. 2/2 trace2: document the supported values of GIT_TRACE2* env variablesSZEDER Gábor, May 19, 2019
  6. Junio C HamanoMay 28, 2019
  7. Derrick StoleeMay 28, 2019
  8. Jeff HostetlerMay 29, 2019
  9. Ævar Arnfjörð BjarmasonMay 28, 2019
  10. Jeff HostetlerMay 29, 2019
  11. Junio C HamanoMay 29, 2019
  12. Revert "test-lib: whitelist GIT_TR2_* in the environment"Ævar Arnfjörð Bjarmason, Jun 12, 2019
  13. Junio C HamanoJun 12, 2019

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.