diff --git a/builtin-update-index.c b/builtin-update-index.c
index 0620e779b04146a01f9e06cbbcd535b106034bd6..a3c0a455ae5d1b8d7b7b6a8798ed7f038ab7bd72 100644 (file)
--- a/builtin-update-index.c
+++ b/builtin-update-index.c
ce->ce_mode = create_ce_mode(st.st_mode);
if (!trust_executable_bit) {
/* If there is an existing entry, pick the mode bits
- * from it.
+ * from it, otherwise force to 644.
*/
int pos = cache_name_pos(path, namelen);
if (0 <= pos)
ce->ce_mode = active_cache[pos]->ce_mode;
+ else
+ ce->ce_mode = create_ce_mode(S_IFREG | 0644);
}
if (index_path(ce->sha1, path, &st, !info_only))