| #ifndef INCLUDE_cl_merge_helpers_h__ |
| #define INCLUDE_cl_merge_helpers_h__ |
| |
| #include "merge.h" |
| #include "git2/merge.h" |
| |
| struct merge_index_entry { |
| uint16_t mode; |
| char oid_str[GIT_OID_HEXSZ+1]; |
| int stage; |
| char path[128]; |
| }; |
| |
| struct merge_name_entry { |
| char ancestor_path[128]; |
| char our_path[128]; |
| char their_path[128]; |
| }; |
| |
| struct merge_index_with_status { |
| struct merge_index_entry entry; |
| unsigned int status; |
| }; |
| |
| struct merge_reuc_entry { |
| char path[128]; |
| unsigned int ancestor_mode; |
| unsigned int our_mode; |
| unsigned int their_mode; |
| char ancestor_oid_str[GIT_OID_HEXSZ+1]; |
| char our_oid_str[GIT_OID_HEXSZ+1]; |
| char their_oid_str[GIT_OID_HEXSZ+1]; |
| }; |
| |
| struct merge_index_conflict_data { |
| struct merge_index_with_status ancestor; |
| struct merge_index_with_status ours; |
| struct merge_index_with_status theirs; |
| git_merge_diff_type_t change_type; |
| }; |
| |
| int merge_trees_from_branches( |
| git_index **index, git_repository *repo, |
| const char *ours_name, const char *theirs_name, |
| git_merge_options *opts); |
| |
| int merge_commits_from_branches( |
| git_index **index, git_repository *repo, |
| const char *ours_name, const char *theirs_name, |
| git_merge_options *opts); |
| |
| int merge_branches(git_repository *repo, |
| const char *ours_branch, const char *theirs_branch, |
| git_merge_options *merge_opts, git_checkout_options *checkout_opts); |
| |
| int merge_test_diff_list(git_merge_diff_list *diff_list, const struct merge_index_entry expected[], size_t expected_len); |
| |
| int merge_test_merge_conflicts(git_vector *conflicts, const struct merge_index_conflict_data expected[], size_t expected_len); |
| |
| int merge_test_index(git_index *index, const struct merge_index_entry expected[], size_t expected_len); |
| |
| int merge_test_names(git_index *index, const struct merge_name_entry expected[], size_t expected_len); |
| |
| int merge_test_reuc(git_index *index, const struct merge_reuc_entry expected[], size_t expected_len); |
| |
| int merge_test_workdir(git_repository *repo, const struct merge_index_entry expected[], size_t expected_len); |
| |
| #endif |