]>
Commit | Line | Data |
---|---|---|
16da134b JS |
1 | #ifndef UNPACK_TREES_H |
2 | #define UNPACK_TREES_H | |
3 | ||
ca885a4f JH |
4 | #define MAX_UNPACK_TREES 8 |
5 | ||
16da134b JS |
6 | struct unpack_trees_options; |
7 | ||
8 | typedef int (*merge_fn_t)(struct cache_entry **src, | |
34110cd4 | 9 | struct unpack_trees_options *options); |
16da134b JS |
10 | |
11 | struct unpack_trees_options { | |
12 | int reset; | |
13 | int merge; | |
14 | int update; | |
15 | int index_only; | |
16 | int nontrivial_merge; | |
17 | int trivial_merges_only; | |
18 | int verbose_update; | |
19 | int aggressive; | |
4e7c4571 | 20 | int skip_unmerged; |
17e46426 | 21 | int gently; |
16da134b | 22 | const char *prefix; |
9a4d8fdc | 23 | int pos; |
f8a9d428 | 24 | struct dir_struct *dir; |
16da134b JS |
25 | merge_fn_t fn; |
26 | ||
27 | int head_idx; | |
28 | int merge_size; | |
29 | ||
30 | struct cache_entry *df_conflict_entry; | |
d1f2d7e8 | 31 | void *unpack_data; |
34110cd4 LT |
32 | |
33 | struct index_state *dst_index; | |
34 | const struct index_state *src_index; | |
35 | struct index_state result; | |
16da134b JS |
36 | }; |
37 | ||
933bf40a | 38 | extern int unpack_trees(unsigned n, struct tree_desc *t, |
16da134b JS |
39 | struct unpack_trees_options *options); |
40 | ||
34110cd4 LT |
41 | int threeway_merge(struct cache_entry **stages, struct unpack_trees_options *o); |
42 | int twoway_merge(struct cache_entry **src, struct unpack_trees_options *o); | |
43 | int bind_merge(struct cache_entry **src, struct unpack_trees_options *o); | |
44 | int oneway_merge(struct cache_entry **src, struct unpack_trees_options *o); | |
076b0adc | 45 | |
16da134b | 46 | #endif |