mirror of
https://git.proxmox.com/git/libgit2
synced 2025-11-03 02:53:33 +00:00
This flips rename detection around so instead of creating a forward mapping from deltas to possible rename targets, instead it creates a reverse mapping, looking at possible targets and trying to find a source that they could have been renamed or copied from. This is important because each output can only have a single source, but a given source could map to multiple outputs (in the form of COPIED records). Additionally, this makes a couple of tweaks to the public rename detection APIs, mostly renaming a couple of options that control the behavior to make more sense and to be more like core Git. I walked through the tests looking at the exact results and updated the expectations based on what I saw. The new code is different from the old because it cannot give some nonsense results (like A was renamed to both B and C) which were part of the outputs previously. |
||
|---|---|---|
| .. | ||
| chars.c | ||
| compare.c | ||
| convert.c | ||
| data.h | ||
| fromstr.c | ||
| hash.c | ||
| short.c | ||
| size.c | ||
| type2string.c | ||
| write.c | ||