summaryrefslogtreecommitdiff
path: root/common-main.c
diff options
context:
space:
mode:
Diffstat (limited to 'common-main.c')
-rw-r--r--common-main.c21
1 files changed, 17 insertions, 4 deletions
diff --git a/common-main.c b/common-main.c
index 6a689007e7..71e21dd20a 100644
--- a/common-main.c
+++ b/common-main.c
@@ -1,5 +1,5 @@
#include "cache.h"
-#include "exec_cmd.h"
+#include "exec-cmd.h"
#include "attr.h"
/*
@@ -25,20 +25,33 @@ static void restore_sigpipe_to_default(void)
int main(int argc, const char **argv)
{
+ int result;
+
+ trace2_initialize_clock();
+
/*
* Always open file descriptors 0/1/2 to avoid clobbering files
* in die(). It also avoids messing up when the pipes are dup'ed
* onto stdin/stdout/stderr in the child processes we spawn.
*/
sanitize_stdfds();
+ restore_sigpipe_to_default();
+
+ git_resolve_executable_dir(argv[0]);
git_setup_gettext();
+ initialize_the_repository();
+
attr_start();
- git_extract_argv0_path(argv[0]);
+ trace2_initialize();
+ trace2_cmd_start(argv);
+ trace2_collect_process_info(TRACE2_PROCESS_INFO_STARTUP);
- restore_sigpipe_to_default();
+ result = cmd_main(argc, argv);
+
+ trace2_cmd_exit(result);
- return cmd_main(argc, argv);
+ return result;
}