X-Git-Url: http://git.ipfire.org/?p=thirdparty%2Fgit.git;a=blobdiff_plain;f=read-cache.c;fp=read-cache.c;h=f9c8f1948af7605606e43855e76c1699537e2a4e;hp=5baf652a5476946b1c56dc59d262d51b6dd8fa59;hb=49e268e23e313e8c6b009cd8ebbbaae4316cf6cc;hpb=224c7d70fa14ed44d8e7e3ce1e165e05b7b23725 diff --git a/read-cache.c b/read-cache.c index 5baf652a54..f9c8f1948a 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);