Browse Source

init-db, rev-parse --git-dir: do not append redundant slash

If git_dir already has the trailing slash, don't put another one
before .git. This only happens when git_dir is '/' or 'C:/'

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Nguyễn Thái Ngọc Duy 15 years ago committed by Junio C Hamano
parent
commit
d06f15d9c0
  1. 9
      builtin-init-db.c
  2. 4
      builtin-rev-parse.c

9
builtin-init-db.c

@ -331,11 +331,14 @@ int init_db(const char *template_dir, unsigned int flags) @@ -331,11 +331,14 @@ int init_db(const char *template_dir, unsigned int flags)
git_config_set("receive.denyNonFastforwards", "true");
}

if (!(flags & INIT_DB_QUIET))
printf("%s%s Git repository in %s/\n",
if (!(flags & INIT_DB_QUIET)) {
const char *git_dir = get_git_dir();
int len = strlen(git_dir);
printf("%s%s Git repository in %s%s\n",
reinit ? "Reinitialized existing" : "Initialized empty",
shared_repository ? " shared" : "",
get_git_dir());
git_dir, len && git_dir[len-1] != '/' ? "/" : "");
}

return 0;
}

4
builtin-rev-parse.c

@ -608,6 +608,7 @@ int cmd_rev_parse(int argc, const char **argv, const char *prefix) @@ -608,6 +608,7 @@ int cmd_rev_parse(int argc, const char **argv, const char *prefix)
if (!strcmp(arg, "--git-dir")) {
const char *gitdir = getenv(GIT_DIR_ENVIRONMENT);
static char cwd[PATH_MAX];
int len;
if (gitdir) {
puts(gitdir);
continue;
@ -618,7 +619,8 @@ int cmd_rev_parse(int argc, const char **argv, const char *prefix) @@ -618,7 +619,8 @@ int cmd_rev_parse(int argc, const char **argv, const char *prefix)
}
if (!getcwd(cwd, PATH_MAX))
die_errno("unable to get current working directory");
printf("%s/.git\n", cwd);
len = strlen(cwd);
printf("%s%s.git\n", cwd, len && cwd[len-1] != '/' ? "/" : "");
continue;
}
if (!strcmp(arg, "--is-inside-git-dir")) {

Loading…
Cancel
Save