Merge branch 'nd/clone-linked-checkout'
It was not possible to use a repository-lookalike created by "git worktree add" as a local source of "git clone". * nd/clone-linked-checkout: clone: better error when --reference is a linked checkout clone: allow --local from a linked checkout enter_repo: allow .git files in strict mode enter_repo: avoid duplicating logic, use is_git_directory() instead t0002: add test for enter_repo(), non-strict mode path.c: delete an extra space
This commit is contained in:
12
path.c
12
path.c
@ -668,11 +668,15 @@ const char *enter_repo(const char *path, int strict)
|
||||
return NULL;
|
||||
path = validated_path;
|
||||
}
|
||||
else if (chdir(path))
|
||||
return NULL;
|
||||
else {
|
||||
const char *gitfile = read_gitfile(path);
|
||||
if (gitfile)
|
||||
path = gitfile;
|
||||
if (chdir(path))
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (access("objects", X_OK) == 0 && access("refs", X_OK) == 0 &&
|
||||
validate_headref("HEAD") == 0) {
|
||||
if (is_git_directory(".")) {
|
||||
set_git_dir(".");
|
||||
check_repository_format();
|
||||
return path;
|
||||
|
Reference in New Issue
Block a user