]> git.proxmox.com Git - libgit2.git/blob - tests/merge/merge_helpers.h
New upstream version 1.4.3+dfsg.1
[libgit2.git] / tests / merge / merge_helpers.h
1 #ifndef INCLUDE_cl_merge_helpers_h__
2 #define INCLUDE_cl_merge_helpers_h__
3
4 #include "merge.h"
5 #include "git2/merge.h"
6
7 struct merge_index_entry {
8 uint16_t mode;
9 char oid_str[GIT_OID_HEXSZ+1];
10 int stage;
11 char path[128];
12 };
13
14 struct merge_name_entry {
15 char ancestor_path[128];
16 char our_path[128];
17 char their_path[128];
18 };
19
20 struct merge_index_with_status {
21 struct merge_index_entry entry;
22 unsigned int status;
23 };
24
25 struct merge_reuc_entry {
26 char path[128];
27 unsigned int ancestor_mode;
28 unsigned int our_mode;
29 unsigned int their_mode;
30 char ancestor_oid_str[GIT_OID_HEXSZ+1];
31 char our_oid_str[GIT_OID_HEXSZ+1];
32 char their_oid_str[GIT_OID_HEXSZ+1];
33 };
34
35 struct merge_index_conflict_data {
36 struct merge_index_with_status ancestor;
37 struct merge_index_with_status ours;
38 struct merge_index_with_status theirs;
39 git_merge_diff_t change_type;
40 };
41
42 int merge_trees_from_branches(
43 git_index **index, git_repository *repo,
44 const char *ours_name, const char *theirs_name,
45 git_merge_options *opts);
46
47 int merge_commits_from_branches(
48 git_index **index, git_repository *repo,
49 const char *ours_name, const char *theirs_name,
50 git_merge_options *opts);
51
52 int merge_branches(git_repository *repo,
53 const char *ours_branch, const char *theirs_branch,
54 git_merge_options *merge_opts, git_checkout_options *checkout_opts);
55
56 int merge_test_diff_list(git_merge_diff_list *diff_list, const struct merge_index_entry expected[], size_t expected_len);
57
58 int merge_test_merge_conflicts(git_vector *conflicts, const struct merge_index_conflict_data expected[], size_t expected_len);
59
60 int merge_test_index(git_index *index, const struct merge_index_entry expected[], size_t expected_len);
61
62 int merge_test_names(git_index *index, const struct merge_name_entry expected[], size_t expected_len);
63
64 int merge_test_reuc(git_index *index, const struct merge_reuc_entry expected[], size_t expected_len);
65
66 int merge_test_workdir(git_repository *repo, const struct merge_index_entry expected[], size_t expected_len);
67
68 void merge__dump_names(git_index *index);
69 void merge__dump_index_entries(git_vector *index_entries);
70 void merge__dump_reuc(git_index *index);
71
72 #endif