Initial implementation of diff rename detection
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.
Showing
tests-clar/diff/rename.c
0 → 100644
tests-clar/resources/renames/.gitted/HEAD
0 → 100644
tests-clar/resources/renames/.gitted/config
0 → 100644
tests-clar/resources/renames/.gitted/index
0 → 100644
File added
File added
File added
File added
File added
File added
File added
tests-clar/resources/renames/sevencities.txt
0 → 100644
tests-clar/resources/renames/sixserving.txt
0 → 100644
tests-clar/resources/renames/songofseven.txt
0 → 100644
Please
register
or
sign in
to comment