]>
Commit | Line | Data |
---|---|---|
1 | /* | |
2 | * Low level 3-way in-core file merge. | |
3 | */ | |
4 | ||
5 | #ifndef LL_MERGE_H | |
6 | #define LL_MERGE_H | |
7 | ||
8 | #include "xdiff/xdiff.h" | |
9 | ||
10 | struct index_state; | |
11 | ||
12 | struct ll_merge_options { | |
13 | unsigned virtual_ancestor : 1; | |
14 | unsigned variant : 2; /* favor ours, favor theirs, or union merge */ | |
15 | unsigned renormalize : 1; | |
16 | long xdl_opts; | |
17 | }; | |
18 | ||
19 | int ll_merge(mmbuffer_t *result_buf, | |
20 | const char *path, | |
21 | mmfile_t *ancestor, const char *ancestor_label, | |
22 | mmfile_t *ours, const char *our_label, | |
23 | mmfile_t *theirs, const char *their_label, | |
24 | struct index_state *istate, | |
25 | const struct ll_merge_options *opts); | |
26 | ||
27 | int ll_merge_marker_size(struct index_state *istate, const char *path); | |
28 | ||
29 | #endif |