about summary refs log tree commit diff
path: root/third_party/git/trace2/tr2_sysenv.c
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/git/trace2/tr2_sysenv.c')
-rw-r--r--third_party/git/trace2/tr2_sysenv.c132
1 files changed, 0 insertions, 132 deletions
diff --git a/third_party/git/trace2/tr2_sysenv.c b/third_party/git/trace2/tr2_sysenv.c
deleted file mode 100644
index a380dcf9105e..000000000000
--- a/third_party/git/trace2/tr2_sysenv.c
+++ /dev/null
@@ -1,132 +0,0 @@
-#include "cache.h"
-#include "config.h"
-#include "dir.h"
-#include "tr2_sysenv.h"
-
-/*
- * Each entry represents a trace2 setting.
- * See Documentation/technical/api-trace2.txt
- */
-struct tr2_sysenv_entry {
-	const char *env_var_name;
-	const char *git_config_name;
-
-	char *value;
-	unsigned int getenv_called : 1;
-};
-
-/*
- * This table must match "enum tr2_sysenv_variable" in tr2_sysenv.h.
- *
- * The strings in this table are constant and must match the published
- * config and environment variable names as described in the documentation.
- *
- * We do not define entries for the GIT_TRACE2_PARENT_* environment
- * variables because they are transient and used to pass information
- * from parent to child git processes, rather than settings.
- */
-/* clang-format off */
-static struct tr2_sysenv_entry tr2_sysenv_settings[] = {
-	[TR2_SYSENV_CFG_PARAM]     = { "GIT_TRACE2_CONFIG_PARAMS",
-				       "trace2.configparams" },
-	[TR2_SYSENV_ENV_VARS]      = { "GIT_TRACE2_ENV_VARS",
-				       "trace2.envvars" },
-
-	[TR2_SYSENV_DST_DEBUG]     = { "GIT_TRACE2_DST_DEBUG",
-				       "trace2.destinationdebug" },
-
-	[TR2_SYSENV_NORMAL]        = { "GIT_TRACE2",
-				       "trace2.normaltarget" },
-	[TR2_SYSENV_NORMAL_BRIEF]  = { "GIT_TRACE2_BRIEF",
-				       "trace2.normalbrief" },
-
-	[TR2_SYSENV_EVENT]         = { "GIT_TRACE2_EVENT",
-				       "trace2.eventtarget" },
-	[TR2_SYSENV_EVENT_BRIEF]   = { "GIT_TRACE2_EVENT_BRIEF",
-				       "trace2.eventbrief" },
-	[TR2_SYSENV_EVENT_NESTING] = { "GIT_TRACE2_EVENT_NESTING",
-				       "trace2.eventnesting" },
-
-	[TR2_SYSENV_PERF]          = { "GIT_TRACE2_PERF",
-				       "trace2.perftarget" },
-	[TR2_SYSENV_PERF_BRIEF]    = { "GIT_TRACE2_PERF_BRIEF",
-				       "trace2.perfbrief" },
-
-	[TR2_SYSENV_MAX_FILES]     = { "GIT_TRACE2_MAX_FILES",
-				       "trace2.maxfiles" },
-};
-/* clang-format on */
-
-static int tr2_sysenv_cb(const char *key, const char *value, void *d)
-{
-	int k;
-
-	if (!starts_with(key, "trace2."))
-		return 0;
-
-	for (k = 0; k < ARRAY_SIZE(tr2_sysenv_settings); k++) {
-		if (!strcmp(key, tr2_sysenv_settings[k].git_config_name)) {
-			free(tr2_sysenv_settings[k].value);
-			tr2_sysenv_settings[k].value = xstrdup(value);
-			return 0;
-		}
-	}
-
-	return 0;
-}
-
-/*
- * Load Trace2 settings from the system config (usually "/etc/gitconfig"
- * unless we were built with a runtime-prefix).  These are intended to
- * define the default values for Trace2 as requested by the administrator.
- *
- * Then override with the Trace2 settings from the global config.
- */
-void tr2_sysenv_load(void)
-{
-	if (ARRAY_SIZE(tr2_sysenv_settings) != TR2_SYSENV_MUST_BE_LAST)
-		BUG("tr2_sysenv_settings size is wrong");
-
-	read_very_early_config(tr2_sysenv_cb, NULL);
-}
-
-/*
- * Return the value for the requested Trace2 setting from these sources:
- * the system config, the global config, and the environment.
- */
-const char *tr2_sysenv_get(enum tr2_sysenv_variable var)
-{
-	if (var >= TR2_SYSENV_MUST_BE_LAST)
-		BUG("tr2_sysenv_get invalid var '%d'", var);
-
-	if (!tr2_sysenv_settings[var].getenv_called) {
-		const char *v = getenv(tr2_sysenv_settings[var].env_var_name);
-		if (v && *v) {
-			free(tr2_sysenv_settings[var].value);
-			tr2_sysenv_settings[var].value = xstrdup(v);
-		}
-		tr2_sysenv_settings[var].getenv_called = 1;
-	}
-
-	return tr2_sysenv_settings[var].value;
-}
-
-/*
- * Return a friendly name for this setting that is suitable for printing
- * in an error messages.
- */
-const char *tr2_sysenv_display_name(enum tr2_sysenv_variable var)
-{
-	if (var >= TR2_SYSENV_MUST_BE_LAST)
-		BUG("tr2_sysenv_get invalid var '%d'", var);
-
-	return tr2_sysenv_settings[var].env_var_name;
-}
-
-void tr2_sysenv_release(void)
-{
-	int k;
-
-	for (k = 0; k < ARRAY_SIZE(tr2_sysenv_settings); k++)
-		free(tr2_sysenv_settings[k].value);
-}