summaryrefslogtreecommitdiff
path: root/Documentation/git-mergetool.txt
diff options
context:
space:
mode:
authorLibravatar Elijah Newren <newren@gmail.com>2021-01-19 19:53:51 +0000
committerLibravatar Junio C Hamano <gitster@pobox.com>2021-01-20 22:18:55 -0800
commit089d82bc18514d78513a85e95de257f74da18205 (patch)
tree098186f0a727f7d51a42a6a34a3872f7d1e945d3 /Documentation/git-mergetool.txt
parentmerge-ort: add a new toplevel_dir field (diff)
downloadtgif-089d82bc18514d78513a85e95de257f74da18205.tar.xz
merge-ort: implement apply_directory_rename_modifications()
This function roughly follows the same outline as the function of the same name from merge-recursive.c, but the code diverges in multiple ways due to some special considerations: * merge-ort's version needs to update opt->priv->paths with any new paths (and opt->priv->paths points to struct conflict_infos which track quite a bit of metadata for each path); merge-recursive's version would directly update the index * merge-ort requires that opt->priv->paths has any leading directories of any relevant files also be included in the set of paths. And due to pointer equality requirements on merged_info.directory_name, we have to be careful how we compute and insert these. * due to the above requirements on opt->priv->paths, merge-ort's version starts with a long comment to explain all the special considerations that need to be handled * merge-ort can use the full data stored in opt->priv->paths to avoid making expensive get_tree_entry() calls to regather the necessary data. * due to messages being deferred automatically in merge-ort, this is the best place to handle conflict messages whereas in merge-recursive.c they are deferred manually so that processing of entries does all the printing Signed-off-by: Elijah Newren <newren@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'Documentation/git-mergetool.txt')
0 files changed, 0 insertions, 0 deletions