diff options
author | Junio C Hamano <gitster@pobox.com> | 2010-08-21 23:26:46 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2010-08-21 23:26:46 -0700 |
commit | 2eb54692d145a0c2939698302e913975f059ac34 (patch) | |
tree | 88911c7cd362f52770bded7c03b73f32a7d8abb7 /unpack-trees.h | |
parent | a0b6a9d2b2b0667bc170c864a05b3ec4635a71bb (diff) | |
parent | e935e62a0fd26ff1f29a98a4ca8fa693f42357a2 (diff) | |
download | git-2eb54692d145a0c2939698302e913975f059ac34.tar.gz |
Merge branch 'dg/local-mod-error-messages'
* dg/local-mod-error-messages:
t7609: test merge and checkout error messages
unpack_trees: group error messages by type
merge-recursive: distinguish "removed" and "overwritten" messages
merge-recursive: porcelain messages for checkout
Turn unpack_trees_options.msgs into an array + enum
Conflicts:
t/t3400-rebase.sh
Diffstat (limited to 'unpack-trees.h')
-rw-r--r-- | unpack-trees.h | 34 |
1 files changed, 24 insertions, 10 deletions
diff --git a/unpack-trees.h b/unpack-trees.h index ef70eab390..6e049b0997 100644 --- a/unpack-trees.h +++ b/unpack-trees.h @@ -9,14 +9,22 @@ 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; +enum unpack_trees_error_types { + ERROR_WOULD_OVERWRITE = 0, + ERROR_NOT_UPTODATE_FILE, + ERROR_NOT_UPTODATE_DIR, + 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, + NB_UNPACK_TREES_ERROR_TYPES +}; + +struct rejected_paths_list { + char *path; + struct rejected_paths_list *next; }; struct unpack_trees_options { @@ -33,12 +41,18 @@ struct unpack_trees_options { diff_index_cached, debug_unpack, skip_sparse_checkout, - gently; + gently, + show_all_errors; const char *prefix; int cache_bottom; struct dir_struct *dir; merge_fn_t fn; - struct unpack_trees_error_msgs msgs; + const char *msgs[NB_UNPACK_TREES_ERROR_TYPES]; + /* + * Store error messages in an array, each case + * corresponding to a error message type + */ + struct rejected_paths_list *unpack_rejects[NB_UNPACK_TREES_ERROR_TYPES]; int head_idx; int merge_size; |