This implements the basis for diff rename and copy detection, although it is based on simple SHA comparison right now instead of using a matching algortihm. Just as `git_diff_merge` can be used as a post-pass on diffs to emulate certain command line behaviors, there is a new API `git_diff_detect` which will update a diff list in-place, adjusting some deltas to RENAMED or COPIED state (and also, eventually, splitting MODIFIED deltas where the change is too large into DELETED/ADDED pairs). This also adds a new test repo that will hold rename/copy/split scenarios. Right now, it just has exact-match rename and copy, but the tests are written to use tree diffs, so we should be able to add new test scenarios easily without breaking tests.
Name |
Last commit
|
Last update |
---|---|---|
.. | ||
attr | Loading commit data... | |
attr_index | Loading commit data... | |
bad_tag.git | Loading commit data... | |
config | Loading commit data... | |
deprecated-mode.git | Loading commit data... | |
diff | Loading commit data... | |
duplicate.git | Loading commit data... | |
empty_bare.git | Loading commit data... | |
empty_standard_repo/.gitted | Loading commit data... | |
filemodes | Loading commit data... | |
issue_592 | Loading commit data... | |
issue_592b | Loading commit data... | |
renames | Loading commit data... | |
status | Loading commit data... | |
submod2 | Loading commit data... | |
submod2_target | Loading commit data... | |
submodules | Loading commit data... | |
template | Loading commit data... | |
testrepo/.gitted | Loading commit data... | |
testrepo.git | Loading commit data... | |
typechanges | Loading commit data... | |
.gitattributes | Loading commit data... | |
.gitignore | Loading commit data... | |
big.index | Loading commit data... | |
gitgit.index | Loading commit data... |