diff options
author | Elijah Newren <newren@gmail.com> | 2020-12-14 16:21:30 +0000 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2020-12-14 08:45:58 -0800 |
commit | 864075ec433644e5908589fe79f8b3296f896867 (patch) | |
tree | 29d571e93b0d387c35b8ec3f926086013cd6381d | |
parent | merge-ort: add modify/delete handling and delayed output processing (diff) | |
download | tgif-864075ec433644e5908589fe79f8b3296f896867.tar.xz |
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>
-rw-r--r-- | merge-ort.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/merge-ort.c b/merge-ort.c index 414e7b7eea..1c1a7fa4bf 100644 --- a/merge-ort.c +++ b/merge-ort.c @@ -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. @@ -114,6 +133,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() * * Used to set merged_info.directory_name; see documentation for that |