mirror of
https://git.proxmox.com/git/libgit2
synced 2025-05-08 04:30:48 +00:00
Update rename src map for any split src
When using a rename source that is actually a to-be-split record, we have to update the best-fit mapping data in both the case where the target is also a split record and the case where the target is a simple added record. Before this commit, we were only doing the update when the target was itself a split record (and even in that case, the test was slightly wrong).
This commit is contained in:
parent
a42c2a8c89
commit
7edb74d374
@ -947,6 +947,11 @@ find_best_matches:
|
||||
src->new_file.flags |= GIT_DIFF_FLAG_VALID_OID;
|
||||
|
||||
num_updates++;
|
||||
|
||||
if (src2tgt[t].similarity > 0 && src2tgt[t].idx > t) {
|
||||
/* what used to be at src t is now at src s */
|
||||
tgt2src[src2tgt[t].idx].idx = (uint32_t)s;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -996,7 +1001,7 @@ find_best_matches:
|
||||
num_rewrites--;
|
||||
}
|
||||
/* otherwise, if we just overwrote a source, update mapping */
|
||||
else if (s > t && src2tgt[t].similarity > 0) {
|
||||
else if (src2tgt[t].similarity > 0 && src2tgt[t].idx > t) {
|
||||
/* what used to be at src t is now at src s */
|
||||
tgt2src[src2tgt[t].idx].idx = (uint32_t)s;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user