summaryrefslogtreecommitdiff
path: root/trace2.h
diff options
context:
space:
mode:
authorJosh Steadmon <steadmon@google.com>2020-03-20 21:06:15 (GMT)
committerJunio C Hamano <gitster@pobox.com>2020-03-23 20:14:53 (GMT)
commit3d3adaad914441a6e7b916eb8dfd5ae638aab068 (patch)
tree19b976864a32cd6a80e8c2c35339db0a39c0aeba /trace2.h
parent98cedd0233ee88e69711f79d1126b6bd772ff5bd (diff)
downloadgit-3d3adaad914441a6e7b916eb8dfd5ae638aab068.zip
git-3d3adaad914441a6e7b916eb8dfd5ae638aab068.tar.gz
git-3d3adaad914441a6e7b916eb8dfd5ae638aab068.tar.bz2
trace2: teach Git to log environment variables
Via trace2, Git can already log interesting config parameters (see the trace2_cmd_list_config() function). However, this can grant an incomplete picture because many config parameters also allow overrides via environment variables. To allow for more complete logs, we add a new trace2_cmd_list_env_vars() function and supporting implementation, modeled after the pre-existing config param logging implementation. Signed-off-by: Josh Steadmon <steadmon@google.com> Acked-by: Jeff Hostetler <jeffhost@microsoft.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'trace2.h')
-rw-r--r--trace2.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/trace2.h b/trace2.h
index e5e81c0..b18bc55 100644
--- a/trace2.h
+++ b/trace2.h
@@ -183,6 +183,19 @@ void trace2_cmd_list_config_fl(const char *file, int line);
#define trace2_cmd_list_config() trace2_cmd_list_config_fl(__FILE__, __LINE__)
/*
+ * Emit one or more 'def_param' events for "important" environment variables.
+ *
+ * Use the TR2_SYSENV_ENV_VARS setting to register a comma-separated list of
+ * environment variables considered important. For example:
+ * git config --system trace2.envVars 'GIT_HTTP_USER_AGENT,GIT_CONFIG'
+ * or:
+ * GIT_TRACE2_ENV_VARS="GIT_HTTP_USER_AGENT,GIT_CONFIG"
+ */
+void trace2_cmd_list_env_vars_fl(const char *file, int line);
+
+#define trace2_cmd_list_env_vars() trace2_cmd_list_env_vars_fl(__FILE__, __LINE__)
+
+/*
* Emit a "def_param" event for the given config key/value pair IF
* we consider the key to be "important".
*