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>
This commit is contained in:

committed by
Junio C Hamano

parent
98cedd0233
commit
3d3adaad91
13
trace2.h
13
trace2.h
@ -182,6 +182,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".
|
||||
|
Reference in New Issue
Block a user