unpack-trees.hon commit Documentation/git-checkout: Update summary to reflect current abilities (76ce946)
   1#ifndef UNPACK_TREES_H
   2#define UNPACK_TREES_H
   3
   4#define MAX_UNPACK_TREES 8
   5
   6struct unpack_trees_options;
   7
   8typedef int (*merge_fn_t)(struct cache_entry **src,
   9                struct unpack_trees_options *options);
  10
  11struct 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;
  20        int skip_unmerged;
  21        int gently;
  22        const char *prefix;
  23        int pos;
  24        struct dir_struct *dir;
  25        merge_fn_t fn;
  26
  27        int head_idx;
  28        int merge_size;
  29
  30        struct cache_entry *df_conflict_entry;
  31        void *unpack_data;
  32
  33        struct index_state *dst_index;
  34        const struct index_state *src_index;
  35        struct index_state result;
  36};
  37
  38extern int unpack_trees(unsigned n, struct tree_desc *t,
  39                struct unpack_trees_options *options);
  40
  41int threeway_merge(struct cache_entry **stages, struct unpack_trees_options *o);
  42int twoway_merge(struct cache_entry **src, struct unpack_trees_options *o);
  43int bind_merge(struct cache_entry **src, struct unpack_trees_options *o);
  44int oneway_merge(struct cache_entry **src, struct unpack_trees_options *o);
  45
  46#endif