summaryrefslogtreecommitdiff
path: root/unpack-trees.h
diff options
context:
space:
mode:
authorJunio C Hamano <junkio@cox.net>2006-08-15 03:13:34 -0700
committerJunio C Hamano <junkio@cox.net>2006-08-15 03:13:34 -0700
commitd7b6c3c0f54b951c85cd41c6e6571c65cf090111 (patch)
tree44c009ddd29ab5a986dba9028d0b57a0b2e03201 /unpack-trees.h
parent4c5cf8c44ce06a79da5bafd4a92e6d6f598cea2e (diff)
parent3cd4f5e8eb04ae01298ceaf46bb41a4277031916 (diff)
downloadgit-d7b6c3c0f54b951c85cd41c6e6571c65cf090111.tar.gz
Merge branch 'master' into pb/gitpm
* master: (166 commits) git-apply --binary: clean up and prepare for --reverse Fix detection of ipv6 on Solaris Look for sockaddr_storage in sys/socket.h Solaris has strlcpy() at least since version 8 git-apply --reverse: simplify reverse option. t4116 apply --reverse test Make sha1flush void and remove conditional return. Make upload_pack void and remove conditional return. Make track_tree_refs void. Make pack_objects void. Make fsck_dir void. Make checkout_all void. Make show_entry void Make pprint_tag void and cleans up call in cmd_cat_file. Remove combine-diff.c::uninteresting() read-cache.c cleanup http-push.c cleanup diff.c cleanup builtin-push.c cleanup builtin-grep.c cleanup ...
Diffstat (limited to 'unpack-trees.h')
-rw-r--r--unpack-trees.h35
1 files changed, 35 insertions, 0 deletions
diff --git a/unpack-trees.h b/unpack-trees.h
new file mode 100644
index 0000000000..c4601621cd
--- /dev/null
+++ b/unpack-trees.h
@@ -0,0 +1,35 @@
+#ifndef UNPACK_TREES_H
+#define UNPACK_TREES_H
+
+struct unpack_trees_options;
+
+typedef int (*merge_fn_t)(struct cache_entry **src,
+ struct unpack_trees_options *options);
+
+struct unpack_trees_options {
+ int reset;
+ int merge;
+ int update;
+ int index_only;
+ int nontrivial_merge;
+ int trivial_merges_only;
+ int verbose_update;
+ int aggressive;
+ const char *prefix;
+ merge_fn_t fn;
+
+ int head_idx;
+ int merge_size;
+
+ struct cache_entry *df_conflict_entry;
+};
+
+extern int unpack_trees(struct object_list *trees,
+ 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