Commit 3adb0dc3 by Carlos Martín Nieto Committed by Patrick Steinhardt

path: expose dotgit detection functions per filesystem

These will be used by the checkout code to detect them for the particular
filesystem they're on.
parent dc5591b4
...@@ -1849,17 +1849,56 @@ static int verify_dotgit_generic(const char *name, const char *dotgit_name, cons ...@@ -1849,17 +1849,56 @@ static int verify_dotgit_generic(const char *name, const char *dotgit_name, cons
return verify_dotgit_hfs_generic(name, strlen(name), dotgit_name, strlen(dotgit_name)); return verify_dotgit_hfs_generic(name, strlen(name), dotgit_name, strlen(dotgit_name));
} }
int git_path_is_ntfs_dotgit_modules(const char *name)
{
return !verify_dotgit_ntfs_generic(name, "gitmodules", "gi7eba");
}
int git_path_is_hfs_dotgit_modules(const char *name)
{
return !verify_dotgit_hfs_generic(name, strlen(name), "gitmodules", CONST_STRLEN("gitmodules"));
}
int git_path_is_dotgit_modules(const char *name) int git_path_is_dotgit_modules(const char *name)
{ {
return !verify_dotgit_generic(name, "gitmodules", "gi7eba"); if (git_path_is_hfs_dotgit_modules(name))
return 1;
return git_path_is_ntfs_dotgit_modules(name);
}
int git_path_is_ntfs_dotgit_ignore(const char *name)
{
return !verify_dotgit_ntfs_generic(name, "gitignore", "gi250a");
}
int git_path_is_hfs_dotgit_ignore(const char *name)
{
return !verify_dotgit_hfs_generic(name, strlen(name), "gitignore", CONST_STRLEN("gitignore"));
} }
int git_path_is_dotgit_ignore(const char *name) int git_path_is_dotgit_ignore(const char *name)
{ {
return !verify_dotgit_generic(name, "gitignore", "gi250a"); if (git_path_is_hfs_dotgit_ignore(name))
return 1;
return git_path_is_ntfs_dotgit_ignore(name);
}
int git_path_is_hfs_dotgit_attributes(const char *name)
{
return !verify_dotgit_hfs_generic(name, strlen(name), "gitattributes", CONST_STRLEN("gitattributes"));
}
int git_path_is_ntfs_dotgit_attributes(const char *name)
{
return !verify_dotgit_ntfs_generic(name, "gitattributes", "gi7d29");
} }
int git_path_is_dotgit_attributes(const char *name) int git_path_is_dotgit_attributes(const char *name)
{ {
return !verify_dotgit_generic(name, "gitattributes", "gi7d29"); if (git_path_is_hfs_dotgit_attributes(name))
return 1;
return git_path_is_ntfs_dotgit_attributes(name);
} }
...@@ -638,6 +638,20 @@ int git_path_normalize_slashes(git_buf *out, const char *path); ...@@ -638,6 +638,20 @@ int git_path_normalize_slashes(git_buf *out, const char *path);
extern int git_path_is_dotgit_modules(const char *name); extern int git_path_is_dotgit_modules(const char *name);
/** /**
* Check whether a path component corresponds to a .gitmodules file in NTFS
*
* @param name the path component to check
*/
extern int git_path_is_ntfs_dotgit_modules(const char *name);
/**
* Check whether a path component corresponds to a .gitmodules file in HFS+
*
* @param name the path component to check
*/
extern int git_path_is_hfs_dotgit_modules(const char *name);
/**
* Check whether a path component corresponds to a .gitignore file * Check whether a path component corresponds to a .gitignore file
* *
* @param name the path component to check * @param name the path component to check
...@@ -645,10 +659,38 @@ extern int git_path_is_dotgit_modules(const char *name); ...@@ -645,10 +659,38 @@ extern int git_path_is_dotgit_modules(const char *name);
extern int git_path_is_dotgit_ignore(const char *name); extern int git_path_is_dotgit_ignore(const char *name);
/** /**
* Check whether a path component corresponds to a .gitignore file in NTFS
*
* @param name the path component to check
*/
extern int git_path_is_ntfs_dotgit_ignore(const char *name);
/**
* Check whether a path component corresponds to a .gitignore file in HFS+
*
* @param name the path component to check
*/
extern int git_path_is_hfs_dotgit_ignore(const char *name);
/**
* Check whether a path component corresponds to a .gitignore file * Check whether a path component corresponds to a .gitignore file
* *
* @param name the path component to check * @param name the path component to check
*/ */
extern int git_path_is_dotgit_attributes(const char *name); extern int git_path_is_dotgit_attributes(const char *name);
/**
* Check whether a path component corresponds to a .gitattributes file in NTFS
*
* @param name the path component to check
*/
extern int git_path_is_ntfs_dotgit_attributes(const char *name);
/**
* Check whether a path component corresponds to a .gitattributes file in HFS+
*
* @param name the path component to check
*/
extern int git_path_is_hfs_dotgit_attributes(const char *name);
#endif #endif
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment