Skip to content

Commit 95b63f1

Browse files
pcloudsgitster
authored andcommitted
clone: forbid --bare --separate-git-dir <dir>
The --separate-git-dir option was introduced to make it simple to put the git directory somewhere outside the worktree, for example when cloning a repository for use as a submodule. It was not intended for use when creating a bare repository. In that case there is no worktree and it is more natural to directly clone the repository and create a .git file as separate steps: git clone --bare /path/to/repo.git bar.git printf 'gitdir: bar.git\n' >foo.git Forbid the combination, making the command easier to explain. Signed-off-by: Nguyễn Thái Ngọc Duy <[email protected]> Signed-off-by: Junio C Hamano <[email protected]>
1 parent 7e20105 commit 95b63f1

File tree

1 file changed

+2
-0
lines changed

1 file changed

+2
-0
lines changed

builtin/clone.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -704,6 +704,8 @@ int cmd_clone(int argc, const char **argv, const char *prefix)
704704
if (option_origin)
705705
die(_("--bare and --origin %s options are incompatible."),
706706
option_origin);
707+
if (real_git_dir)
708+
die(_("--bare and --separate-git-dir are incompatible."));
707709
option_no_checkout = 1;
708710
}
709711

0 commit comments

Comments
 (0)