Andrew's git
/
gitweb.git
/ diff
summary
|
log
|
commit
| diff |
tree
commit
grep
author
committer
pickaxe
?
re
git-init: autodetect core.symlinks
author
Junio C Hamano
<gitster@pobox.com>
Fri, 31 Aug 2007 07:25:04 +0000
(
00:25
-0700)
committer
Junio C Hamano
<gitster@pobox.com>
Fri, 31 Aug 2007 07:25:04 +0000
(
00:25
-0700)
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>
builtin-init-db.c
patch
|
blob
|
history
raw
|
patch
|
inline
| side by side (parent:
608403d
)
diff --git
a/builtin-init-db.c
b/builtin-init-db.c
index af15cb27392dae6b16cee960908295ac252fe920..763fa55e76ef5b7e2f244f11199b5925382dac92 100644
(file)
--- a/
builtin-init-db.c
+++ b/
builtin-init-db.c
@@
-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);
}
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;
}
return reinit;
}