aboutsummaryrefslogtreecommitdiffstats
path: root/read-cache.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2020-01-10 14:45:26 -0800
committerJunio C Hamano <gitster@pobox.com>2020-01-10 14:45:27 -0800
commit1cf4836865670cadc5d72dc36cdececcb5b32a77 (patch)
tree8a6d6971492a343c4b71a79bd5640e491e710818 /read-cache.c
parentd78a1968c5465e1ec5f6e14b1edff1b88f5ea3bd (diff)
parent49e268e23e313e8c6b009cd8ebbbaae4316cf6cc (diff)
downloadgit-1cf4836865670cadc5d72dc36cdececcb5b32a77.tar.gz
Merge branch 'js/mingw-loosen-overstrict-tree-entry-checks'
Further tweak to a "no backslash in indexed paths" for Windows port we applied earlier. * js/mingw-loosen-overstrict-tree-entry-checks: mingw: safeguard better against backslashes in file names
Diffstat (limited to 'read-cache.c')
-rw-r--r--read-cache.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/read-cache.c b/read-cache.c
index 737916ebd9..aa427c5c17 100644
--- a/read-cache.c
+++ b/read-cache.c
@@ -959,7 +959,7 @@ static int verify_dotfile(const char *rest, unsigned mode)
int verify_path(const char *path, unsigned mode)
{
- char c;
+ char c = 0;
if (has_dos_drive_prefix(path))
return 0;
@@ -974,6 +974,7 @@ int verify_path(const char *path, unsigned mode)
if (is_dir_sep(c)) {
inside:
if (protect_hfs) {
+
if (is_hfs_dotgit(path))
return 0;
if (S_ISLNK(mode)) {
@@ -982,6 +983,10 @@ inside:
}
}
if (protect_ntfs) {
+#ifdef GIT_WINDOWS_NATIVE
+ if (c == '\\')
+ return 0;
+#endif
if (is_ntfs_dotgit(path))
return 0;
if (S_ISLNK(mode)) {
@@ -1278,11 +1283,6 @@ static int add_index_entry_with_check(struct index_state *istate, struct cache_e
int skip_df_check = option & ADD_CACHE_SKIP_DFCHECK;
int new_only = option & ADD_CACHE_NEW_ONLY;
-#ifdef GIT_WINDOWS_NATIVE
- if (protect_ntfs && strchr(ce->name, '\\'))
- return error(_("filename in tree entry contains backslash: '%s'"), ce->name);
-#endif
-
if (!(option & ADD_CACHE_KEEP_CACHE_TREE))
cache_tree_invalidate_path(istate, ce->name);