Merge branch 'en/ort-perf-batch-10'
Various rename detection optimization to help "ort" merge strategy backend. * en/ort-perf-batch-10: diffcore-rename: determine which relevant_sources are no longer relevant merge-ort: record the reason that we want a rename for a file diffcore-rename: add computation of number of unknown renames diffcore-rename: check if we have enough renames for directories early on diffcore-rename: only compute dir_rename_count for relevant directories merge-ort: record the reason that we want a rename for a directory merge-ort, diffcore-rename: tweak dirs_removed and relevant_source type diffcore-rename: take advantage of "majority rules" to skip more renames
This commit is contained in:
19
diffcore.h
19
diffcore.h
@ -8,8 +8,8 @@
|
||||
|
||||
struct diff_options;
|
||||
struct repository;
|
||||
struct strintmap;
|
||||
struct strmap;
|
||||
struct strset;
|
||||
struct userdiff_driver;
|
||||
|
||||
/* This header file is internal between diff.c and its diff transformers
|
||||
@ -161,13 +161,26 @@ struct diff_filepair *diff_queue(struct diff_queue_struct *,
|
||||
struct diff_filespec *);
|
||||
void diff_q(struct diff_queue_struct *, struct diff_filepair *);
|
||||
|
||||
/* dir_rename_relevance: the reason we want rename information for a dir */
|
||||
enum dir_rename_relevance {
|
||||
NOT_RELEVANT = 0,
|
||||
RELEVANT_FOR_ANCESTOR = 1,
|
||||
RELEVANT_FOR_SELF = 2
|
||||
};
|
||||
/* file_rename_relevance: the reason(s) we want rename information for a file */
|
||||
enum file_rename_relevance {
|
||||
RELEVANT_NO_MORE = 0, /* i.e. NOT relevant */
|
||||
RELEVANT_CONTENT = 1,
|
||||
RELEVANT_LOCATION = 2
|
||||
};
|
||||
|
||||
void partial_clear_dir_rename_count(struct strmap *dir_rename_count);
|
||||
|
||||
void diffcore_break(struct repository *, int);
|
||||
void diffcore_rename(struct diff_options *);
|
||||
void diffcore_rename_extended(struct diff_options *options,
|
||||
struct strset *relevant_sources,
|
||||
struct strset *dirs_removed,
|
||||
struct strintmap *relevant_sources,
|
||||
struct strintmap *dirs_removed,
|
||||
struct strmap *dir_rename_count);
|
||||
void diffcore_merge_broken(void);
|
||||
void diffcore_pickaxe(struct diff_options *);
|
||||
|
Reference in New Issue
Block a user