merge-recursive: add get_directory_renames()
commit8383408dc79300211778b615b353b3463ccc369a
authorElijah Newren <newren@gmail.com>
Wed, 14 Feb 2018 18:51:55 +0000 (14 10:51 -0800)
committerJunio C Hamano <gitster@pobox.com>
Wed, 14 Feb 2018 21:02:52 +0000 (14 13:02 -0800)
tree5348f3e2018c0299c99800bdafef9db289ab56ac
parent84a548dedd6520b73eb8764a8bebd8ede81620c8
merge-recursive: add get_directory_renames()

This populates a set of directory renames for us.  The set of directory
renames is not yet used, but will be in subsequent commits.

Note that the use of a string_list for possible_new_dirs in the new
dir_rename_entry struct implies an O(n^2) algorithm; however, in practice
I expect the number of distinct directories that files were renamed into
from a single original directory to be O(1).  My guess is that n has a
mode of 1 and a mean of less than 2, so, for now, string_list seems good
enough for possible_new_dirs.

Reviewed-by: Stefan Beller <sbeller@google.com>
Signed-off-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
merge-recursive.c
merge-recursive.h