]>
Commit | Line | Data |
---|---|---|
525ab639 JH |
1 | /* |
2 | * Low level 3-way in-core file merge. | |
3 | */ | |
4 | ||
5 | #ifndef LL_MERGE_H | |
6 | #define LL_MERGE_H | |
7 | ||
ef3ca954 EN |
8 | #include "xdiff/xdiff.h" |
9 | ||
32eaa468 NTND |
10 | struct index_state; |
11 | ||
712516bc JN |
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; | |
b2a7942b | 16 | unsigned extra_marker_size; |
58a1ece4 | 17 | long xdl_opts; |
712516bc | 18 | }; |
73cf7f71 | 19 | |
525ab639 JH |
20 | int ll_merge(mmbuffer_t *result_buf, |
21 | const char *path, | |
f01de62e | 22 | mmfile_t *ancestor, const char *ancestor_label, |
525ab639 JH |
23 | mmfile_t *ours, const char *our_label, |
24 | mmfile_t *theirs, const char *their_label, | |
32eaa468 | 25 | struct index_state *istate, |
712516bc | 26 | const struct ll_merge_options *opts); |
525ab639 | 27 | |
32eaa468 | 28 | int ll_merge_marker_size(struct index_state *istate, const char *path); |
2c65d90f | 29 | void reset_merge_attributes(void); |
8588567c | 30 | |
525ab639 | 31 | #endif |