path: add functions to detect .gitconfig and .gitattributes
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
diff --git a/include/git2/sys/path.h b/include/git2/sys/path.h
new file mode 100644
index 0000000..30b2087
--- /dev/null
+++ b/include/git2/sys/path.h
@@ -0,0 +1,37 @@
+/*
+ * Copyright (C) the libgit2 contributors. All rights reserved.
+ *
+ * This file is part of libgit2, distributed under the GNU GPL v2 with
+ * a Linking Exception. For full terms see the included COPYING file.
+ */
+#ifndef INCLUDE_sys_git_path_h__
+#define INCLUDE_sys_git_path_h__
+
+#include "git2/common.h"
+#include "git2/types.h"
+
+GIT_BEGIN_DECL
+
+/**
+ * Check whether a path component corresponds to a .gitmodules file
+ *
+ * @param name the path component to check
+ */
+GIT_EXTERN(int) git_path_is_dotgit_modules(const char *name);
+
+/**
+ * Check whether a path component corresponds to a .gitignore file
+ *
+ * @param name the path component to check
+ */
+GIT_EXTERN(int) git_path_is_dotgit_ignore(const char *name);
+
+/**
+ * Check whether a path component corresponds to a .gitignore file
+ *
+ * @param name the path component to check
+ */
+GIT_EXTERN(int) git_path_is_dotgit_attributes(const char *name);
+
+GIT_END_DECL
+#endif
diff --git a/src/path.c b/src/path.c
index e1ee586..cc4975c 100644
--- a/src/path.c
+++ b/src/path.c
@@ -1854,3 +1854,13 @@ int git_path_is_dotgit_modules(const char *name)
{
return !verify_dotgit_generic(name, "gitmodules", "gi7eba");
}
+
+int git_path_is_dotgit_ignore(const char *name)
+{
+ return !verify_dotgit_generic(name, "gitignore", "gi250a");
+}
+
+int git_path_is_dotgit_attributes(const char *name)
+{
+ return !verify_dotgit_generic(name, "gitattributes", "gi7d29");
+}