mirror of
https://github.com/git/git
synced 2024-11-05 01:58:18 +00:00
trace2: avoid emitting 'def_param' set more than once
During nested alias expansion it is possible for "trace2_cmd_list_config()" and "trace2_cmd_list_env_vars()" to be called more than once. This causes a full set of 'def_param' events to be emitted each time. Let's avoid that. Add code to those two functions to only emit them once. Signed-off-by: Jeff Hostetler <jeffhostetler@github.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
0c1c3c861e
commit
520cf66814
2 changed files with 13 additions and 1 deletions
|
@ -470,7 +470,7 @@ test_expect_success 'expect def_params during shell alias expansion' '
|
|||
grep "d1|main|def_param|.*|ENV_PROP_FOO:blue" actual
|
||||
'
|
||||
|
||||
test_expect_failure 'expect def_params during nested git alias expansion' '
|
||||
test_expect_success 'expect def_params during nested git alias expansion' '
|
||||
test_when_finished "rm prop.perf actual" &&
|
||||
|
||||
test_config_global "trace2.configParams" "cfg.prop.*" &&
|
||||
|
|
12
trace2.c
12
trace2.c
|
@ -464,17 +464,29 @@ void trace2_cmd_alias_fl(const char *file, int line, const char *alias,
|
|||
|
||||
void trace2_cmd_list_config_fl(const char *file, int line)
|
||||
{
|
||||
static int emitted = 0;
|
||||
|
||||
if (!trace2_enabled)
|
||||
return;
|
||||
|
||||
if (emitted)
|
||||
return;
|
||||
emitted = 1;
|
||||
|
||||
tr2_cfg_list_config_fl(file, line);
|
||||
}
|
||||
|
||||
void trace2_cmd_list_env_vars_fl(const char *file, int line)
|
||||
{
|
||||
static int emitted = 0;
|
||||
|
||||
if (!trace2_enabled)
|
||||
return;
|
||||
|
||||
if (emitted)
|
||||
return;
|
||||
emitted = 1;
|
||||
|
||||
tr2_list_env_vars_fl(file, line);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue