You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
64 lines
1.6 KiB
64 lines
1.6 KiB
#ifndef UNPACK_TREES_H |
|
#define UNPACK_TREES_H |
|
|
|
#define MAX_UNPACK_TREES 8 |
|
|
|
struct unpack_trees_options; |
|
struct exclude_list; |
|
|
|
typedef int (*merge_fn_t)(struct cache_entry **src, |
|
struct unpack_trees_options *options); |
|
|
|
struct unpack_trees_error_msgs { |
|
const char *would_overwrite; |
|
const char *not_uptodate_file; |
|
const char *not_uptodate_dir; |
|
const char *would_lose_untracked; |
|
const char *bind_overlap; |
|
const char *sparse_not_uptodate_file; |
|
const char *would_lose_orphaned; |
|
}; |
|
|
|
struct unpack_trees_options { |
|
unsigned int reset, |
|
merge, |
|
update, |
|
index_only, |
|
nontrivial_merge, |
|
trivial_merges_only, |
|
verbose_update, |
|
aggressive, |
|
skip_unmerged, |
|
initial_checkout, |
|
diff_index_cached, |
|
debug_unpack, |
|
skip_sparse_checkout, |
|
gently; |
|
const char *prefix; |
|
int cache_bottom; |
|
struct dir_struct *dir; |
|
merge_fn_t fn; |
|
struct unpack_trees_error_msgs msgs; |
|
|
|
int head_idx; |
|
int merge_size; |
|
|
|
struct cache_entry *df_conflict_entry; |
|
void *unpack_data; |
|
|
|
struct index_state *dst_index; |
|
struct index_state *src_index; |
|
struct index_state result; |
|
|
|
struct exclude_list *el; /* for internal use */ |
|
}; |
|
|
|
extern int unpack_trees(unsigned n, struct tree_desc *t, |
|
struct unpack_trees_options *options); |
|
|
|
int threeway_merge(struct cache_entry **stages, struct unpack_trees_options *o); |
|
int twoway_merge(struct cache_entry **src, struct unpack_trees_options *o); |
|
int bind_merge(struct cache_entry **src, struct unpack_trees_options *o); |
|
int oneway_merge(struct cache_entry **src, struct unpack_trees_options *o); |
|
|
|
#endif
|
|
|