Commit 7cc1bf0f by nulltoken

index: Introduce git_index_has_conflicts()

parent 29cc374d
...@@ -431,6 +431,13 @@ GIT_EXTERN(int) git_index_conflict_remove(git_index *index, const char *path); ...@@ -431,6 +431,13 @@ GIT_EXTERN(int) git_index_conflict_remove(git_index *index, const char *path);
*/ */
GIT_EXTERN(void) git_index_conflict_cleanup(git_index *index); GIT_EXTERN(void) git_index_conflict_cleanup(git_index *index);
/**
* Determine if the index contains entries representing file conflicts.
*
* @return 1 if at least one conflict is found, 0 otherwise.
*/
GIT_EXTERN(int) git_index_has_conflicts(git_index *index);
/**@}*/ /**@}*/
/** @name Resolve Undo (REUC) index entry manipulation. /** @name Resolve Undo (REUC) index entry manipulation.
......
...@@ -959,6 +959,21 @@ void git_index_conflict_cleanup(git_index *index) ...@@ -959,6 +959,21 @@ void git_index_conflict_cleanup(git_index *index)
git_vector_remove_matching(&index->entries, index_conflicts_match); git_vector_remove_matching(&index->entries, index_conflicts_match);
} }
int git_index_has_conflicts(git_index *index)
{
unsigned int i;
git_index_entry *entry;
assert(index);
git_vector_foreach(&index->entries, i, entry) {
if (index_entry_stage(entry) > 0)
return 1;
}
return 0;
}
unsigned int git_index_reuc_entrycount(git_index *index) unsigned int git_index_reuc_entrycount(git_index *index)
{ {
assert(index); assert(index);
......
...@@ -180,8 +180,12 @@ void test_index_conflicts__remove_all_conflicts(void) ...@@ -180,8 +180,12 @@ void test_index_conflicts__remove_all_conflicts(void)
cl_assert(git_index_entrycount(repo_index) == 8); cl_assert(git_index_entrycount(repo_index) == 8);
cl_assert_equal_i(true, git_index_has_conflicts(repo_index));
git_index_conflict_cleanup(repo_index); git_index_conflict_cleanup(repo_index);
cl_assert_equal_i(false, git_index_has_conflicts(repo_index));
cl_assert(git_index_entrycount(repo_index) == 2); cl_assert(git_index_entrycount(repo_index) == 2);
for (i = 0; i < git_index_entrycount(repo_index); i++) { for (i = 0; i < git_index_entrycount(repo_index); i++) {
......
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