/* * Low level 3-way in-core file merge. */ #ifndef LL_MERGE_H #define LL_MERGE_H #include "xdiff/xdiff.h" struct index_state; struct ll_merge_options { unsigned virtual_ancestor : 1; unsigned variant : 2; /* favor ours, favor theirs, or union merge */ unsigned renormalize : 1; unsigned extra_marker_size; long xdl_opts; }; int ll_merge(mmbuffer_t *result_buf, const char *path, mmfile_t *ancestor, const char *ancestor_label, mmfile_t *ours, const char *our_label, mmfile_t *theirs, const char *their_label, struct index_state *istate, const struct ll_merge_options *opts); int ll_merge_marker_size(struct index_state *istate, const char *path); #endif