Nanako Shiraishi <nanako3@xxxxxxxxxxxxxx> writes: > I sometimes have a checkout on a filesystem that does not support > symbolic links, but I set core.symlink configuration variable to false > in such a case. Would it make sense to update "git init" to autodetect > lack of symbolic link support in the filesystem? Hmph. Something along this line, perhaps? builtin-init-db.c | 16 ++++++++++++++++ 1 files changed, 16 insertions(+), 0 deletions(-) diff --git a/builtin-init-db.c b/builtin-init-db.c index af15cb2..c411008 100644 --- a/builtin-init-db.c +++ b/builtin-init-db.c @@ -264,6 +264,22 @@ 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)) + ; /* good */ + else + git_config_set("core.symlinks", "false"); + } + return reinit; } - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html