unpack-trees.hon commit Tidy up git mergetool's backup file behaviour (44c36d1)
   1#ifndef UNPACK_TREES_H
   2#define UNPACK_TREES_H
   3
   4struct unpack_trees_options;
   5
   6typedef int (*merge_fn_t)(struct cache_entry **src,
   7                struct unpack_trees_options *options,
   8                int remove);
   9
  10struct unpack_trees_options {
  11        int reset;
  12        int merge;
  13        int update;
  14        int index_only;
  15        int nontrivial_merge;
  16        int trivial_merges_only;
  17        int verbose_update;
  18        int aggressive;
  19        int skip_unmerged;
  20        int gently;
  21        const char *prefix;
  22        int pos;
  23        struct dir_struct *dir;
  24        merge_fn_t fn;
  25
  26        int head_idx;
  27        int merge_size;
  28
  29        struct cache_entry *df_conflict_entry;
  30        void *unpack_data;
  31};
  32
  33extern int unpack_trees(unsigned n, struct tree_desc *t,
  34                struct unpack_trees_options *options);
  35
  36int threeway_merge(struct cache_entry **stages, struct unpack_trees_options *o, int);
  37int twoway_merge(struct cache_entry **src, struct unpack_trees_options *o, int);
  38int bind_merge(struct cache_entry **src, struct unpack_trees_options *o, int);
  39int oneway_merge(struct cache_entry **src, struct unpack_trees_options *o, int);
  40
  41#endif