Blame tests/merge/merge_helpers.h

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