30 lines
705 B
30 lines
705 B
/* |
|
* 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
|
|
|