merge-recursive: make the error-message generation an extern function
The construction of the struct unpack_trees_error_msgs was done within git_merge_trees(), which prevented using the same messages easily from another function. [jc: backported for 1.6.5 maint before advice_commit_before_merge] Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
78d553b7d7
commit
264b774ba6
@ -170,18 +170,6 @@ static int git_merge_trees(int index_only,
|
||||
int rc;
|
||||
struct tree_desc t[3];
|
||||
struct unpack_trees_options opts;
|
||||
static const struct unpack_trees_error_msgs msgs = {
|
||||
/* would_overwrite */
|
||||
"Your local changes to '%s' would be overwritten by merge. Aborting.",
|
||||
/* not_uptodate_file */
|
||||
"Your local changes to '%s' would be overwritten by merge. Aborting.",
|
||||
/* not_uptodate_dir */
|
||||
"Updating '%s' would lose untracked files in it. Aborting.",
|
||||
/* would_lose_untracked */
|
||||
"Untracked working tree file '%s' would be %s by merge. Aborting",
|
||||
/* bind_overlap -- will not happen here */
|
||||
NULL,
|
||||
};
|
||||
|
||||
memset(&opts, 0, sizeof(opts));
|
||||
if (index_only)
|
||||
@ -193,7 +181,7 @@ static int git_merge_trees(int index_only,
|
||||
opts.fn = threeway_merge;
|
||||
opts.src_index = &the_index;
|
||||
opts.dst_index = &the_index;
|
||||
opts.msgs = msgs;
|
||||
opts.msgs = get_porcelain_error_msgs();
|
||||
|
||||
init_tree_desc_from_tree(t+0, common);
|
||||
init_tree_desc_from_tree(t+1, head);
|
||||
@ -1180,6 +1168,23 @@ static int process_entry(struct merge_options *o,
|
||||
return clean_merge;
|
||||
}
|
||||
|
||||
struct unpack_trees_error_msgs get_porcelain_error_msgs(void)
|
||||
{
|
||||
struct unpack_trees_error_msgs msgs = {
|
||||
/* would_overwrite */
|
||||
"Your local changes to '%s' would be overwritten by merge. Aborting.",
|
||||
/* not_uptodate_file */
|
||||
"Your local changes to '%s' would be overwritten by merge. Aborting.",
|
||||
/* not_uptodate_dir */
|
||||
"Updating '%s' would lose untracked files in it. Aborting.",
|
||||
/* would_lose_untracked */
|
||||
"Untracked working tree file '%s' would be %s by merge. Aborting",
|
||||
/* bind_overlap -- will not happen here */
|
||||
NULL,
|
||||
};
|
||||
return msgs;
|
||||
}
|
||||
|
||||
int merge_trees(struct merge_options *o,
|
||||
struct tree *head,
|
||||
struct tree *merge,
|
||||
|
@ -17,6 +17,9 @@ struct merge_options {
|
||||
struct string_list current_directory_set;
|
||||
};
|
||||
|
||||
/* Return a list of user-friendly error messages to be used by merge */
|
||||
struct unpack_trees_error_msgs get_porcelain_error_msgs(void);
|
||||
|
||||
/* merge_trees() but with recursive ancestor consolidation */
|
||||
int merge_recursive(struct merge_options *o,
|
||||
struct commit *h1,
|
||||
|
Loading…
Reference in New Issue
Block a user