Teach git to load default Trace2 settings from the system config (usually "/etc/gitconfig"). The existing GIT_TR2_* environment variables can be used to override the new system defaults. It also includes a little startup refactoring. Note: I found interactive testing of this feature to be awkward on some platforms because of the use of prefix- or runtime-prefix-relative locations for the system configuration. It was easy to accidentally use an officially installed version of git to set a system config variable in the official system config directory; and then when testing with the test version of git, that value would not be seen because it was looking for the system config file in a different directory. Jeff Hostetler (4): trace2: refactor setting process starting time trace2: add absolute elapsed time to start event trace2: find exec-dir before trace2 initialization trace2: use system config for default trace2 settings Documentation/technical/api-trace2.txt | 54 +++++++++-- Makefile | 1 + common-main.c | 6 +- compat/mingw.c | 2 + t/t0210-trace2-normal.sh | 41 +++++++- t/t0211-trace2-perf.sh | 53 ++++++++--- t/t0212-trace2-event.sh | 52 +++++++++- trace2.c | 19 +++- trace2.h | 24 ++++- trace2/tr2_cfg.c | 7 +- trace2/tr2_dst.c | 24 ++--- trace2/tr2_dst.h | 3 +- trace2/tr2_sysenv.c | 125 +++++++++++++++++++++++++ trace2/tr2_sysenv.h | 36 +++++++ trace2/tr2_tgt.h | 1 + trace2/tr2_tgt_event.c | 24 ++--- trace2/tr2_tgt_normal.c | 13 +-- trace2/tr2_tgt_perf.c | 17 ++-- trace2/tr2_tls.c | 38 +++++--- trace2/tr2_tls.h | 8 +- 20 files changed, 455 insertions(+), 93 deletions(-) create mode 100644 trace2/tr2_sysenv.c create mode 100644 trace2/tr2_sysenv.h base-commit: 041f5ea1cf987a4068ef5f39ba0a09be85952064 Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-169%2Fjeffhostetler%2Fcore-tr2-startup-and-sysenv-v1 Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-169/jeffhostetler/core-tr2-startup-and-sysenv-v1 Pull-Request: https://github.com/gitgitgadget/git/pull/169 -- gitgitgadget