aboutsummaryrefslogtreecommitdiffstats
path: root/builtin-update-index.c
diff options
context:
space:
mode:
authorJunio C Hamano <junkio@cox.net>2007-03-04 17:31:09 -0800
committerJunio C Hamano <junkio@cox.net>2007-03-04 17:31:09 -0800
commite6f95113431f7e69263bc3d075c0a7715ce587e3 (patch)
tree810569356f64b58df52560fcce0d3cfb561014ab /builtin-update-index.c
parent784b11cd05e7862b0fbcc1251a65669c7004a8df (diff)
parenta249a9b5a26e841a28f6e993a560d749303cf91c (diff)
downloadgit-e6f95113431f7e69263bc3d075c0a7715ce587e3.tar.gz
Merge branch 'js/symlink'
* js/symlink: Tell multi-parent diff about core.symlinks. Handle core.symlinks=false case in merge-recursive. Add core.symlinks to mark filesystems that do not support symbolic links.
Diffstat (limited to 'builtin-update-index.c')
-rw-r--r--builtin-update-index.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/builtin-update-index.c b/builtin-update-index.c
index 65246dad8d..71cef633c0 100644
--- a/builtin-update-index.c
+++ b/builtin-update-index.c
@@ -109,11 +109,11 @@ static int add_file_to_cache(const char *path)
ce->ce_flags = htons(namelen);
fill_stat_cache_info(ce, &st);
- if (trust_executable_bit)
+ if (trust_executable_bit && has_symlinks)
ce->ce_mode = create_ce_mode(st.st_mode);
else {
- /* If there is an existing entry, pick the mode bits
- * from it, otherwise assume unexecutable.
+ /* If there is an existing entry, pick the mode bits and type
+ * from it, otherwise assume unexecutable regular file.
*/
struct cache_entry *ent;
int pos = cache_name_pos(path, namelen);