mirror of
https://github.com/git/git
synced 2024-08-24 18:26:02 +00:00
![SZEDER Gábor](/assets/img/avatar_default.png)
For an environment variable that is supposed to be set by users, the GIT_TR2* env vars are just too unclear, inconsistent, and ugly. Most of the established GIT_* environment variables don't use abbreviations, and in case of the few that do (GIT_DIR, GIT_COMMON_DIR, GIT_DIFF_OPTS) it's quite obvious what the abbreviations (DIR and OPTS) stand for. But what does TR stand for? Track, traditional, trailer, transaction, transfer, transformation, transition, translation, transplant, transport, traversal, tree, trigger, truncate, trust, or ...?! The trace2 facility, as the '2' suffix in its name suggests, is supposed to eventually supercede Git's original trace facility. It's reasonable to expect that the corresponding environment variables follow suit, and after the original GIT_TRACE variables they are called GIT_TRACE2; there is no such thing is 'GIT_TR'. All trace2-specific config variables are, very sensibly, in the 'trace2' section, not in 'tr2'. OTOH, we don't gain anything at all by omitting the last three characters of "trace" from the names of these environment variables. So let's rename all GIT_TR2* environment variables to GIT_TRACE2*, before they make their way into a stable release. Signed-off-by: SZEDER Gábor <szeder.dev@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
31 lines
728 B
C
31 lines
728 B
C
#include "cache.h"
|
|
#include "trace2/tr2_cmd_name.h"
|
|
|
|
#define TR2_ENVVAR_PARENT_NAME "GIT_TRACE2_PARENT_NAME"
|
|
|
|
static struct strbuf tr2cmdname_hierarchy = STRBUF_INIT;
|
|
|
|
void tr2_cmd_name_append_hierarchy(const char *name)
|
|
{
|
|
const char *parent_name = getenv(TR2_ENVVAR_PARENT_NAME);
|
|
|
|
strbuf_reset(&tr2cmdname_hierarchy);
|
|
if (parent_name && *parent_name) {
|
|
strbuf_addstr(&tr2cmdname_hierarchy, parent_name);
|
|
strbuf_addch(&tr2cmdname_hierarchy, '/');
|
|
}
|
|
strbuf_addstr(&tr2cmdname_hierarchy, name);
|
|
|
|
setenv(TR2_ENVVAR_PARENT_NAME, tr2cmdname_hierarchy.buf, 1);
|
|
}
|
|
|
|
const char *tr2_cmd_name_get_hierarchy(void)
|
|
{
|
|
return tr2cmdname_hierarchy.buf;
|
|
}
|
|
|
|
void tr2_cmd_name_release(void)
|
|
{
|
|
strbuf_release(&tr2cmdname_hierarchy);
|
|
}
|