mirror of
https://git.proxmox.com/git/libgit2
synced 2025-05-08 02:36:11 +00:00
index: Introduce git_index_has_conflicts()
This commit is contained in:
parent
29cc374d2e
commit
7cc1bf0fcb
@ -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);
|
||||
|
||||
/**
|
||||
* 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.
|
||||
|
15
src/index.c
15
src/index.c
@ -959,6 +959,21 @@ void git_index_conflict_cleanup(git_index *index)
|
||||
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)
|
||||
{
|
||||
assert(index);
|
||||
|
@ -180,8 +180,12 @@ void test_index_conflicts__remove_all_conflicts(void)
|
||||
|
||||
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);
|
||||
|
||||
cl_assert_equal_i(false, git_index_has_conflicts(repo_index));
|
||||
|
||||
cl_assert(git_index_entrycount(repo_index) == 2);
|
||||
|
||||
for (i = 0; i < git_index_entrycount(repo_index); i++) {
|
||||
|
Loading…
Reference in New Issue
Block a user