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>
This commit is contained in:
Nguyễn Thái Ngọc Duy 2010-02-14 22:44:42 +07:00 коммит произвёл Junio C Hamano
Родитель ed0cb46ebb
Коммит d06f15d9c0
2 изменённых файлов: 9 добавлений и 4 удалений

Просмотреть файл

@ -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;
}

Просмотреть файл

@ -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)
}
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")) {