Imported Upstream version 2.27.0
[platform/upstream/git.git] / unpack-trees.h
index ae1557f..9c2f082 100644 (file)
@@ -22,11 +22,15 @@ enum unpack_trees_error_types {
        ERROR_WOULD_LOSE_UNTRACKED_OVERWRITTEN,
        ERROR_WOULD_LOSE_UNTRACKED_REMOVED,
        ERROR_BIND_OVERLAP,
-       ERROR_SPARSE_NOT_UPTODATE_FILE,
-       ERROR_WOULD_LOSE_ORPHANED_OVERWRITTEN,
-       ERROR_WOULD_LOSE_ORPHANED_REMOVED,
        ERROR_WOULD_LOSE_SUBMODULE,
-       NB_UNPACK_TREES_ERROR_TYPES
+
+       NB_UNPACK_TREES_ERROR_TYPES,
+
+       WARNING_SPARSE_NOT_UPTODATE_FILE,
+       WARNING_SPARSE_UNMERGED_FILE,
+       WARNING_SPARSE_ORPHANED_NOT_OVERWRITTEN,
+
+       NB_UNPACK_TREES_WARNING_TYPES,
 };
 
 /*
@@ -59,20 +63,19 @@ struct unpack_trees_options {
                     quiet,
                     exiting_early,
                     show_all_errors,
-                    dry_run,
-                    keep_pattern_list;
+                    dry_run;
        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];
+       const char *msgs[NB_UNPACK_TREES_WARNING_TYPES];
        struct argv_array msgs_to_free;
        /*
         * Store error messages in an array, each case
         * corresponding to a error message type
         */
-       struct string_list unpack_rejects[NB_UNPACK_TREES_ERROR_TYPES];
+       struct string_list unpack_rejects[NB_UNPACK_TREES_WARNING_TYPES];
 
        int head_idx;
        int merge_size;
@@ -85,11 +88,21 @@ struct unpack_trees_options {
        struct index_state result;
 
        struct pattern_list *pl; /* for internal use */
+       struct checkout_metadata meta;
 };
 
 int unpack_trees(unsigned n, struct tree_desc *t,
                 struct unpack_trees_options *options);
 
+enum update_sparsity_result {
+       UPDATE_SPARSITY_SUCCESS = 0,
+       UPDATE_SPARSITY_WARNINGS = 1,
+       UPDATE_SPARSITY_INDEX_UPDATE_FAILURES = -1,
+       UPDATE_SPARSITY_WORKTREE_UPDATE_FAILURES = -2
+};
+
+enum update_sparsity_result update_sparsity(struct unpack_trees_options *options);
+
 int verify_uptodate(const struct cache_entry *ce,
                    struct unpack_trees_options *o);