зеркало из https://github.com/microsoft/git.git
diffcore-rename: avoid unnecessary strdup'ing in break_idx
The keys of break_idx are strings from the diff_filepairs of diff_queued_diff. break_idx is only used in location_rename_dst(), and that usage is always before any free'ing of the pairs (and thus the strings in the pairs). As such, there is no need to strdup these keys; we can just reuse the existing strings as-is. The merge logic doesn't make use of break detection, so this does not affect the performance of any of my testcases. It was just a minor unrelated optimization noted in passing while looking at the code. Signed-off-by: Elijah Newren <newren@gmail.com> Reviewed-by: Derrick Stolee <dstolee@microsoft.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Родитель
5a3743da32
Коммит
61bf4490af
|
@ -54,7 +54,7 @@ static void register_rename_src(struct diff_filepair *p)
|
|||
if (p->broken_pair) {
|
||||
if (!break_idx) {
|
||||
break_idx = xmalloc(sizeof(*break_idx));
|
||||
strintmap_init(break_idx, -1);
|
||||
strintmap_init_with_options(break_idx, -1, NULL, 0);
|
||||
}
|
||||
strintmap_set(break_idx, p->one->path, rename_dst_nr);
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче