t5520: test for failure if index has unresolved entries
[gitweb.git] / unpack-trees.h
index 79989483079970e9dad42512e522eef8ea2a75a4..36a73a6d003b6906dfb402aa930b352f5b368c60 100644 (file)
@@ -8,7 +8,7 @@
 struct unpack_trees_options;
 struct exclude_list;
 
-typedef int (*merge_fn_t)(struct cache_entry **src,
+typedef int (*merge_fn_t)(const struct cache_entry * const *src,
                struct unpack_trees_options *options);
 
 enum unpack_trees_error_types {
@@ -52,6 +52,7 @@ struct unpack_trees_options {
        const char *prefix;
        int cache_bottom;
        struct dir_struct *dir;
+       struct pathspec *pathspec;
        merge_fn_t fn;
        const char *msgs[NB_UNPACK_TREES_ERROR_TYPES];
        /*
@@ -76,9 +77,13 @@ struct unpack_trees_options {
 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);
+int threeway_merge(const struct cache_entry * const *stages,
+                  struct unpack_trees_options *o);
+int twoway_merge(const struct cache_entry * const *src,
+                struct unpack_trees_options *o);
+int bind_merge(const struct cache_entry * const *src,
+              struct unpack_trees_options *o);
+int oneway_merge(const struct cache_entry * const *src,
+                struct unpack_trees_options *o);
 
 #endif