summaryrefslogtreecommitdiff
path: root/include/git2
diff options
context:
space:
mode:
authorRussell Belfer <rb@github.com>2012-10-15 12:48:43 -0700
committerRussell Belfer <rb@github.com>2012-10-15 12:54:46 -0700
commit52032ae53689ac37350f6af3bf1834122e4b3cf0 (patch)
treed9d98e14fa8e2a5d5d024dbd623bf9beb42e1330 /include/git2
parentd5a51910678f8aea2b7efe077efc678141762dfc (diff)
downloadlibgit2-52032ae53689ac37350f6af3bf1834122e4b3cf0.tar.gz
Fix single-file ignore checks
To answer if a single given file should be ignored, the path to that file has to be processed progressively checking that there are no intermediate ignored directories in getting to the file in question. This enables that, fixing the broken old behavior, and adds tests to exercise various ignore situations.
Diffstat (limited to 'include/git2')
-rw-r--r--include/git2/ignore.h9
-rw-r--r--include/git2/status.h10
2 files changed, 12 insertions, 7 deletions
diff --git a/include/git2/ignore.h b/include/git2/ignore.h
index f7e04e881..964a108ce 100644
--- a/include/git2/ignore.h
+++ b/include/git2/ignore.h
@@ -54,9 +54,12 @@ GIT_EXTERN(int) git_ignore_clear_internal_rules(
/**
* Test if the ignore rules apply to a given path.
*
- * This function simply checks the ignore rules to see if they would apply
- * to the given file. This indicates if the file would be ignored regardless
- * of whether the file is already in the index or commited to the repository.
+ * This function checks the ignore rules to see if they would apply to the
+ * given file. This indicates if the file would be ignored regardless of
+ * whether the file is already in the index or commited to the repository.
+ *
+ * One way to think of this is if you were to do "git add ." on the
+ * directory containing the file, would it be added or not?
*
* @param ignored boolean returning 0 if the file is not ignored, 1 if it is
* @param repo a repository object
diff --git a/include/git2/status.h b/include/git2/status.h
index cc94d7680..0dd98596e 100644
--- a/include/git2/status.h
+++ b/include/git2/status.h
@@ -146,10 +146,12 @@ GIT_EXTERN(int) git_status_file(
/**
* 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.
+ * This function checks the ignore rules to see if they would apply to the
+ * given file. This indicates if the file would be ignored regardless of
+ * whether the file is already in the index or commited to the repository.
+ *
+ * One way to think of this is if you were to do "git add ." on the
+ * directory containing the file, would it be added or not?
*
* @param ignored boolean returning 0 if the file is not ignored, 1 if it is
* @param repo a repository object