Merge branch 'bp/status-rename-config'
"git status" learned to honor a new status.renames configuration to skip rename detection, which could be useful for those who want to do so without disabling the default rename detection done by the "git diff" command. * bp/status-rename-config: add status config and command line options for rename detection
This commit is contained in:
12
wt-status.c
12
wt-status.c
@ -138,6 +138,9 @@ void wt_status_prepare(struct wt_status *s)
|
||||
s->show_stash = 0;
|
||||
s->ahead_behind_flags = AHEAD_BEHIND_UNSPECIFIED;
|
||||
s->display_comment_prefix = 0;
|
||||
s->detect_rename = -1;
|
||||
s->rename_score = -1;
|
||||
s->rename_limit = -1;
|
||||
}
|
||||
|
||||
static void wt_longstatus_print_unmerged_header(struct wt_status *s)
|
||||
@ -592,6 +595,9 @@ static void wt_status_collect_changes_worktree(struct wt_status *s)
|
||||
}
|
||||
rev.diffopt.format_callback = wt_status_collect_changed_cb;
|
||||
rev.diffopt.format_callback_data = s;
|
||||
rev.diffopt.detect_rename = s->detect_rename >= 0 ? s->detect_rename : rev.diffopt.detect_rename;
|
||||
rev.diffopt.rename_limit = s->rename_limit >= 0 ? s->rename_limit : rev.diffopt.rename_limit;
|
||||
rev.diffopt.rename_score = s->rename_score >= 0 ? s->rename_score : rev.diffopt.rename_score;
|
||||
copy_pathspec(&rev.prune_data, &s->pathspec);
|
||||
run_diff_files(&rev, 0);
|
||||
}
|
||||
@ -625,6 +631,9 @@ static void wt_status_collect_changes_index(struct wt_status *s)
|
||||
rev.diffopt.output_format |= DIFF_FORMAT_CALLBACK;
|
||||
rev.diffopt.format_callback = wt_status_collect_updated_cb;
|
||||
rev.diffopt.format_callback_data = s;
|
||||
rev.diffopt.detect_rename = s->detect_rename >= 0 ? s->detect_rename : rev.diffopt.detect_rename;
|
||||
rev.diffopt.rename_limit = s->rename_limit >= 0 ? s->rename_limit : rev.diffopt.rename_limit;
|
||||
rev.diffopt.rename_score = s->rename_score >= 0 ? s->rename_score : rev.diffopt.rename_score;
|
||||
copy_pathspec(&rev.prune_data, &s->pathspec);
|
||||
run_diff_index(&rev, 1);
|
||||
}
|
||||
@ -982,6 +991,9 @@ static void wt_longstatus_print_verbose(struct wt_status *s)
|
||||
setup_revisions(0, NULL, &rev, &opt);
|
||||
|
||||
rev.diffopt.output_format |= DIFF_FORMAT_PATCH;
|
||||
rev.diffopt.detect_rename = s->detect_rename >= 0 ? s->detect_rename : rev.diffopt.detect_rename;
|
||||
rev.diffopt.rename_limit = s->rename_limit >= 0 ? s->rename_limit : rev.diffopt.rename_limit;
|
||||
rev.diffopt.rename_score = s->rename_score >= 0 ? s->rename_score : rev.diffopt.rename_score;
|
||||
rev.diffopt.file = s->fp;
|
||||
rev.diffopt.close_file = 0;
|
||||
/*
|
||||
|
Reference in New Issue
Block a user