Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/libgit2.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarlos Martín Nieto <cmn@dwim.me>2015-05-04 18:29:12 +0300
committerCarlos Martín Nieto <cmn@dwim.me>2015-06-22 18:02:55 +0300
commitc6f489c964bc4df29bdacb1ee4afdcdb294f3815 (patch)
tree2311b70fa744c2552208d4d05ff76176d0827a17 /include
parent64bbd47a32e6aaed539bafd109eef624f24fbae7 (diff)
submodule: add an ignore option to status
This lets us specify in the status call which ignore rules we want to use (optionally falling back to whatever the submodule has in its configuration). This removes one of the reasons for having `_set_ignore()` set the value in-memory. We re-use the `IGNORE_RESET` value for this as it is no longer relevant but has a similar purpose to `IGNORE_FALLBACK`. Similarly, we remove `IGNORE_DEFAULT` which does not have use outside of initializers and move that to fall back to the configuration as well.
Diffstat (limited to 'include')
-rw-r--r--include/git2/diff.h2
-rw-r--r--include/git2/submodule.h4
-rw-r--r--include/git2/types.h6
3 files changed, 6 insertions, 6 deletions
diff --git a/include/git2/diff.h b/include/git2/diff.h
index 0ecdc1bed..90e2e1b22 100644
--- a/include/git2/diff.h
+++ b/include/git2/diff.h
@@ -399,7 +399,7 @@ typedef struct {
* `git_diff_options_init` programmatic initialization.
*/
#define GIT_DIFF_OPTIONS_INIT \
- {GIT_DIFF_OPTIONS_VERSION, 0, GIT_SUBMODULE_IGNORE_DEFAULT, {NULL,0}, NULL, NULL, 3}
+ {GIT_DIFF_OPTIONS_VERSION, 0, GIT_SUBMODULE_IGNORE_FALLBACK, {NULL,0}, NULL, NULL, 3}
/**
* Initializes a `git_diff_options` with default values. Equivalent to
diff --git a/include/git2/submodule.h b/include/git2/submodule.h
index 737570844..31218cc94 100644
--- a/include/git2/submodule.h
+++ b/include/git2/submodule.h
@@ -631,12 +631,14 @@ GIT_EXTERN(int) git_submodule_reload_all(git_repository *repo, int force);
* @param status Combination of `GIT_SUBMODULE_STATUS` flags
* @param repo the repository in which to look
* @param name name of the submodule
+ * @param ignore the ignore rules to follow
* @return 0 on success, <0 on error
*/
GIT_EXTERN(int) git_submodule_status(
unsigned int *status,
git_repository *repo,
- const char *name);
+ const char *name,
+ git_submodule_ignore_t ignore);
/**
* Get the locations of submodule information.
diff --git a/include/git2/types.h b/include/git2/types.h
index d1e7cd92c..aa0f31a9a 100644
--- a/include/git2/types.h
+++ b/include/git2/types.h
@@ -374,7 +374,7 @@ typedef enum {
*
* The values are:
*
- * - GIT_SUBMODULE_IGNORE_RESET: reset to the on-disk value.
+ * - GIT_SUBMODULE_IGNORE_FALLBACK: use the submodule's configuration
* - GIT_SUBMODULE_IGNORE_NONE: don't ignore any change - i.e. even an
* untracked file, will mark the submodule as dirty. Ignored files are
* still ignored, of course.
@@ -388,14 +388,12 @@ typedef enum {
* when we don't want any particular ignore rule to be specified.
*/
typedef enum {
- GIT_SUBMODULE_IGNORE_RESET = -1, /**< reset to on-disk value */
+ GIT_SUBMODULE_IGNORE_FALLBACK = -1, /**< use the submodule's configuration */
GIT_SUBMODULE_IGNORE_NONE = 1, /**< any change or untracked == dirty */
GIT_SUBMODULE_IGNORE_UNTRACKED = 2, /**< dirty if tracked files change */
GIT_SUBMODULE_IGNORE_DIRTY = 3, /**< only dirty if HEAD moved */
GIT_SUBMODULE_IGNORE_ALL = 4, /**< never dirty */
-
- GIT_SUBMODULE_IGNORE_DEFAULT = 0
} git_submodule_ignore_t;
/**