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... |