If core.symlinks = false, the filesystem is actually populated with a regular file that contains the link text. Signed-off-by: Johannes Sixt <johannes.sixt@xxxxxxxxxx> --- builtin-apply.c | 2 +- entry.c | 5 +++++ 2 files changed, 6 insertions(+), 1 deletions(-) diff --git a/builtin-apply.c b/builtin-apply.c index bec95d6..1636807 100644 --- a/builtin-apply.c +++ b/builtin-apply.c @@ -2284,7 +2284,7 @@ static int try_create_file(const char *path, unsigned int mode, const char *buf, { int fd; - if (S_ISLNK(mode)) + if (trust_symlink_fmt && S_ISLNK(mode)) /* Although buf:size is counted string, it also is NUL * terminated. */ diff --git a/entry.c b/entry.c index c2641dd..3d5c0e4 100644 --- a/entry.c +++ b/entry.c @@ -100,6 +100,11 @@ static int write_entry(struct cache_entry *ce, char *path, struct checkout *stat if (to_tempfile) { strcpy(path, ".merge_link_XXXXXX"); fd = mkstemp(path); + } else if (!trust_symlink_fmt) { + /* write a regular file */ + fd = create_file(path, 0666); + } + if (to_tempfile || !trust_symlink_fmt) { if (fd < 0) { free(new); return error("git-checkout-index: unable to create " -- 1.5.0.19.gddff - 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