diff options
author | Junio C Hamano <gitster@pobox.com> | 2020-01-10 23:45:26 +0100 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2020-01-10 23:45:27 +0100 |
commit | 1cf4836865670cadc5d72dc36cdececcb5b32a77 (patch) | |
tree | 8a6d6971492a343c4b71a79bd5640e491e710818 /read-cache.c | |
parent | Merge branch 'ma/config-advice-markup-fix' (diff) | |
parent | mingw: safeguard better against backslashes in file names (diff) | |
download | git-1cf4836865670cadc5d72dc36cdececcb5b32a77.tar.xz git-1cf4836865670cadc5d72dc36cdececcb5b32a77.zip |
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.c | 12 |
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); |