Merge branch 'jk/merge-rename-ux'
* jk/merge-rename-ux: pull: propagate --progress to merge merge: enable progress reporting for rename detection add inexact rename detection progress infrastructure commit: stop setting rename limit bump rename limit defaults (again) merge: improve inexact rename limit warning
This commit is contained in:
@ -22,6 +22,11 @@
|
||||
#include "dir.h"
|
||||
#include "submodule.h"
|
||||
|
||||
static const char rename_limit_advice[] =
|
||||
"inexact rename detection was skipped because there were too many\n"
|
||||
" files. You may want to set your merge.renamelimit variable to at least\n"
|
||||
" %d and retry this merge.";
|
||||
|
||||
static struct tree *shift_tree_object(struct tree *one, struct tree *two,
|
||||
const char *subtree_shift)
|
||||
{
|
||||
@ -418,14 +423,16 @@ static struct string_list *get_renames(struct merge_options *o,
|
||||
opts.detect_rename = DIFF_DETECT_RENAME;
|
||||
opts.rename_limit = o->merge_rename_limit >= 0 ? o->merge_rename_limit :
|
||||
o->diff_rename_limit >= 0 ? o->diff_rename_limit :
|
||||
500;
|
||||
1000;
|
||||
opts.rename_score = o->rename_score;
|
||||
opts.warn_on_too_large_rename = 1;
|
||||
opts.show_rename_progress = o->show_rename_progress;
|
||||
opts.output_format = DIFF_FORMAT_NO_OUTPUT;
|
||||
if (diff_setup_done(&opts) < 0)
|
||||
die("diff setup failed");
|
||||
diff_tree_sha1(o_tree->object.sha1, tree->object.sha1, "", &opts);
|
||||
diffcore_std(&opts);
|
||||
if (opts.needed_rename_limit > o->needed_rename_limit)
|
||||
o->needed_rename_limit = opts.needed_rename_limit;
|
||||
for (i = 0; i < diff_queued_diff.nr; ++i) {
|
||||
struct string_list_item *item;
|
||||
struct rename *re;
|
||||
@ -1649,6 +1656,8 @@ int merge_recursive(struct merge_options *o,
|
||||
commit_list_insert(h2, &(*result)->parents->next);
|
||||
}
|
||||
flush_output(o);
|
||||
if (o->needed_rename_limit)
|
||||
warning(rename_limit_advice, o->needed_rename_limit);
|
||||
return clean;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user