mirror of
https://github.com/git/git
synced 2024-10-03 23:29:36 +00:00
builtins: print setup info if repo is found
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
7ebee44167
commit
a9ca8a85ef
1
cache.h
1
cache.h
|
@ -1062,6 +1062,7 @@ __attribute__((format (printf, 1, 2)))
|
||||||
extern void trace_printf(const char *format, ...);
|
extern void trace_printf(const char *format, ...);
|
||||||
__attribute__((format (printf, 2, 3)))
|
__attribute__((format (printf, 2, 3)))
|
||||||
extern void trace_argv_printf(const char **argv, const char *format, ...);
|
extern void trace_argv_printf(const char **argv, const char *format, ...);
|
||||||
|
extern void trace_repo_setup(const char *prefix);
|
||||||
|
|
||||||
/* convert.c */
|
/* convert.c */
|
||||||
/* returns 1 if *dst was used */
|
/* returns 1 if *dst was used */
|
||||||
|
|
4
git.c
4
git.c
|
@ -264,6 +264,10 @@ static int run_builtin(struct cmd_struct *p, int argc, const char **argv)
|
||||||
use_pager = check_pager_config(p->cmd);
|
use_pager = check_pager_config(p->cmd);
|
||||||
if (use_pager == -1 && p->option & USE_PAGER)
|
if (use_pager == -1 && p->option & USE_PAGER)
|
||||||
use_pager = 1;
|
use_pager = 1;
|
||||||
|
|
||||||
|
if ((p->option & (RUN_SETUP | RUN_SETUP_GENTLY)) &&
|
||||||
|
startup_info->have_repository) /* get_git_dir() may set up repo, avoid that */
|
||||||
|
trace_repo_setup(prefix);
|
||||||
}
|
}
|
||||||
commit_pager_choice();
|
commit_pager_choice();
|
||||||
|
|
||||||
|
|
42
trace.c
42
trace.c
|
@ -131,3 +131,45 @@ void trace_argv_printf(const char **argv, const char *fmt, ...)
|
||||||
if (need_close)
|
if (need_close)
|
||||||
close(fd);
|
close(fd);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static const char *quote_crnl(const char *path)
|
||||||
|
{
|
||||||
|
static char new_path[PATH_MAX];
|
||||||
|
const char *p2 = path;
|
||||||
|
char *p1 = new_path;
|
||||||
|
|
||||||
|
if (!path)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
while (*p2) {
|
||||||
|
switch (*p2) {
|
||||||
|
case '\\': *p1++ = '\\'; *p1++ = '\\'; break;
|
||||||
|
case '\n': *p1++ = '\\'; *p1++ = 'n'; break;
|
||||||
|
case '\r': *p1++ = '\\'; *p1++ = 'r'; break;
|
||||||
|
default:
|
||||||
|
*p1++ = *p2;
|
||||||
|
}
|
||||||
|
p2++;
|
||||||
|
}
|
||||||
|
*p1 = '\0';
|
||||||
|
return new_path;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* FIXME: move prefix to startup_info struct and get rid of this arg */
|
||||||
|
void trace_repo_setup(const char *prefix)
|
||||||
|
{
|
||||||
|
char cwd[PATH_MAX];
|
||||||
|
char *trace = getenv("GIT_TRACE");
|
||||||
|
|
||||||
|
if (!trace || !strcmp(trace, "") ||
|
||||||
|
!strcmp(trace, "0") || !strcasecmp(trace, "false"))
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (!getcwd(cwd, PATH_MAX))
|
||||||
|
die("Unable to get current working directory");
|
||||||
|
|
||||||
|
trace_printf("setup: git_dir: %s\n", quote_crnl(get_git_dir()));
|
||||||
|
trace_printf("setup: worktree: %s\n", quote_crnl(get_git_work_tree()));
|
||||||
|
trace_printf("setup: cwd: %s\n", quote_crnl(cwd));
|
||||||
|
trace_printf("setup: prefix: %s\n", quote_crnl(prefix));
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue