summaryrefslogtreecommitdiff
path: root/trace2.c
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.c
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.c')
-rw-r--r--trace2.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/trace2.c b/trace2.c
index c7b4f14..2c6b570 100644
--- a/trace2.c
+++ b/trace2.c
@@ -121,6 +121,7 @@ static void tr2main_atexit_handler(void)
tr2_sid_release();
tr2_cmd_name_release();
tr2_cfg_free_patterns();
+ tr2_cfg_free_env_vars();
tr2_sysenv_release();
trace2_enabled = 0;
@@ -311,6 +312,14 @@ void trace2_cmd_list_config_fl(const char *file, int line)
tr2_cfg_list_config_fl(file, line);
}
+void trace2_cmd_list_env_vars_fl(const char *file, int line)
+{
+ if (!trace2_enabled)
+ return;
+
+ tr2_list_env_vars_fl(file, line);
+}
+
void trace2_cmd_set_config_fl(const char *file, int line, const char *key,
const char *value)
{