Turn unpack_trees_options.msgs into an array + enum

The list of error messages was introduced as a structure, but an array
indexed over an enum is more flexible, since it allows one to store a
type of error message (index in the array) in a variable.

This change needs to rename would_lose_untracked ->
would_lose_untracked_file to avoid a clash with the function
would_lose_untracked in merge-recursive.c.

Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Matthieu Moy
2010-08-11 10:38:04 +02:00
committed by Junio C Hamano
parent 64fdc08dac
commit 08353ebbab
6 changed files with 46 additions and 52 deletions

View File

@ -9,14 +9,15 @@ 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,
ERROR_BIND_OVERLAP,
ERROR_SPARSE_NOT_UPTODATE_FILE,
ERROR_WOULD_LOSE_ORPHANED,
NB_UNPACK_TREES_ERROR_TYPES
};
struct unpack_trees_options {
@ -38,7 +39,7 @@ struct unpack_trees_options {
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];
int head_idx;
int merge_size;