Merge branch 'bc/hash-independent-tests-part-5'
[git/git.git] / ll-merge.h
CommitLineData
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
10struct index_state;
11
712516bc
JN
12struct 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
20int 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 28int ll_merge_marker_size(struct index_state *istate, const char *path);
2c65d90f 29void reset_merge_attributes(void);
8588567c 30
525ab639 31#endif