summaryrefslogtreecommitdiff
path: root/include/git2
diff options
context:
space:
mode:
Diffstat (limited to 'include/git2')
-rw-r--r--include/git2/index.h4
-rw-r--r--include/git2/status.h16
2 files changed, 20 insertions, 0 deletions
diff --git a/include/git2/index.h b/include/git2/index.h
index 627d6c4fd..5018c896b 100644
--- a/include/git2/index.h
+++ b/include/git2/index.h
@@ -169,6 +169,10 @@ GIT_EXTERN(void) git_index_uniq(git_index *index);
*
* This method will fail in bare index instances.
*
+ * This forces the file to be added to the index, not looking
+ * at gitignore rules. Those rules can be evaluated through
+ * the git_status APIs (in status.h) before calling this.
+ *
* @param index an existing index object
* @param path filename to add
* @param stage stage for the entry
diff --git a/include/git2/status.h b/include/git2/status.h
index 0f2b63de4..c0f38c508 100644
--- a/include/git2/status.h
+++ b/include/git2/status.h
@@ -58,6 +58,22 @@ GIT_EXTERN(int) git_status_foreach(git_repository *repo, int (*callback)(const c
*/
GIT_EXTERN(int) git_status_file(unsigned int *status_flags, git_repository *repo, const char *path);
+/**
+ * Test if the ignore rules apply to a given file.
+ *
+ * This function simply checks the ignore rules to see if they would apply
+ * to the given file. Unlike git_status_file(), this indicates if the file
+ * would be ignored regardless of whether the file is already in the index
+ * or in the repository.
+ *
+ * @param repo a repository object
+ * @param path the file to check ignores for, rooted at the repo's workdir
+ * @param ignored boolean returning 0 if the file is not ignored, 1 if it is
+ * @return GIT_SUCCESS if the ignore rules could be processed for the file
+ * (regardless of whether it exists or not), or an error < 0 if they could not.
+ */
+GIT_EXTERN(int) git_status_should_ignore(git_repository *repo, const char *path, int *ignored);
+
/** @} */
GIT_END_DECL
#endif