Merge branch 'es/init-no-separate-git-dir-in-bare'
The purpose of "git init --separate-git-dir" is to initialize a new project with the repository separate from the working tree, or, in the case of an existing project, to move the repository (the .git/ directory) out of the working tree. It does not make sense to use --separate-git-dir with a bare repository for which there is no working tree, so disallow its use with bare repositories. * es/init-no-separate-git-dir-in-bare: init: disallow --separate-git-dir with bare repository
This commit is contained in:
@ -563,6 +563,9 @@ int cmd_init_db(int argc, const char **argv, const char *prefix)
|
||||
|
||||
argc = parse_options(argc, argv, prefix, init_db_options, init_db_usage, 0);
|
||||
|
||||
if (real_git_dir && is_bare_repository_cfg == 1)
|
||||
die(_("--separate-git-dir and --bare are mutually exclusive"));
|
||||
|
||||
if (real_git_dir && !is_absolute_path(real_git_dir))
|
||||
real_git_dir = real_pathdup(real_git_dir, 1);
|
||||
|
||||
@ -658,6 +661,8 @@ int cmd_init_db(int argc, const char **argv, const char *prefix)
|
||||
get_git_work_tree());
|
||||
}
|
||||
else {
|
||||
if (real_git_dir)
|
||||
die(_("--separate-git-dir incompatible with bare repository"));
|
||||
if (work_tree)
|
||||
set_git_work_tree(work_tree);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user