merge-ort: add basic data structures for handling renames

This will grow later, but we only need a few fields for basic rename
handling.

Signed-off-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Elijah Newren 2020-12-14 16:21:30 +00:00 коммит произвёл Junio C Hamano
Родитель c5a6f65527
Коммит 864075ec43
1 изменённых файлов: 24 добавлений и 0 удалений

Просмотреть файл

@ -46,6 +46,25 @@ enum merge_side {
MERGE_SIDE2 = 2
};
struct rename_info {
/*
* pairs: pairing of filenames from diffcore_rename()
*
* Index 1 and 2 correspond to sides 1 & 2 as used in
* conflict_info.stages. Index 0 unused.
*/
struct diff_queue_struct pairs[3];
/*
* needed_limit: value needed for inexact rename detection to run
*
* If the current rename limit wasn't high enough for inexact
* rename detection to run, this records the limit needed. Otherwise,
* this value remains 0.
*/
int needed_limit;
};
struct merge_options_internal {
/*
* paths: primary data structure in all of merge ort.
@ -113,6 +132,11 @@ struct merge_options_internal {
*/
struct strmap output;
/*
* renames: various data relating to rename detection
*/
struct rename_info renames;
/*
* current_dir_name: temporary var used in collect_merge_info_callback()
*