| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| blob.c | ||
| diff_helpers.c | ||
| diff_helpers.h | ||
| diffiter.c | ||
| index.c | ||
| iterator.c | ||
| notify.c | ||
| patch.c | ||
| rename.c | ||
| submodules.c | ||
| tree.c | ||
| workdir.c |
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.
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| blob.c | Loading commit data... | |
| diff_helpers.c | Loading commit data... | |
| diff_helpers.h | Loading commit data... | |
| diffiter.c | Loading commit data... | |
| index.c | Loading commit data... | |
| iterator.c | Loading commit data... | |
| notify.c | Loading commit data... | |
| patch.c | Loading commit data... | |
| rename.c | Loading commit data... | |
| submodules.c | Loading commit data... | |
| tree.c | Loading commit data... | |
| workdir.c | Loading commit data... |