Browse Source

git-init: autodetect core.symlinks

We already autodetect if filemode is reliable on the filesystem
to deal with VFAT and friends.  Do the same for symbolic link
support.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Junio C Hamano 18 years ago
parent
commit
75d2449903
  1. 15
      builtin-init-db.c

15
builtin-init-db.c

@ -264,6 +264,21 @@ static int create_default_files(const char *git_dir, const char *template_path) @@ -264,6 +264,21 @@ static int create_default_files(const char *git_dir, const char *template_path)
if (work_tree != git_work_tree_cfg)
git_config_set("core.worktree", work_tree);
}

/* Check if symlink is supported in the work tree */
if (!reinit) {
path[len] = 0;
strcpy(path + len, "tXXXXXX");
if (!close(xmkstemp(path)) &&
!unlink(path) &&
!symlink("testing", path) &&
!lstat(path, &st1) &&
S_ISLNK(st1.st_mode))
unlink(path); /* good */
else
git_config_set("core.symlinks", "false");
}

return reinit;
}


Loading…
Cancel
Save