Merge branch 'jk/common-main'
There are certain house-keeping tasks that need to be performed at the very beginning of any Git program, and programs that are not built-in commands had to do them exactly the same way as "git" potty does. It was easy to make mistakes in one-off standalone programs (like test helpers). A common "main()" function that calls cmd_main() of individual program has been introduced to make it harder to make mistakes. * jk/common-main: mingw: declare main()'s argv as const common-main: call git_setup_gettext() common-main: call restore_sigpipe_to_default() common-main: call sanitize_stdfds() common-main: call git_extract_argv0_path() add an extra level of indirection to main()
This commit is contained in:
@ -164,7 +164,6 @@ Format of STDIN stream:
|
||||
#include "refs.h"
|
||||
#include "csum-file.h"
|
||||
#include "quote.h"
|
||||
#include "exec_cmd.h"
|
||||
#include "dir.h"
|
||||
#include "run-command.h"
|
||||
|
||||
@ -302,7 +301,7 @@ static int failure;
|
||||
static FILE *pack_edges;
|
||||
static unsigned int show_stats = 1;
|
||||
static int global_argc;
|
||||
static char **global_argv;
|
||||
static const char **global_argv;
|
||||
|
||||
/* Memory pools */
|
||||
static size_t mem_pool_alloc = 2*1024*1024 - sizeof(struct mem_pool);
|
||||
@ -3445,14 +3444,10 @@ static void parse_argv(void)
|
||||
read_marks();
|
||||
}
|
||||
|
||||
int main(int argc, char **argv)
|
||||
int cmd_main(int argc, const char **argv)
|
||||
{
|
||||
unsigned int i;
|
||||
|
||||
git_extract_argv0_path(argv[0]);
|
||||
|
||||
git_setup_gettext();
|
||||
|
||||
if (argc == 2 && !strcmp(argv[1], "-h"))
|
||||
usage(fast_import_usage);
|
||||
|
||||
|
Reference in New Issue
Block a user