mirror of
https://git.proxmox.com/git/libgit2
synced 2025-05-07 01:43:48 +00:00
![]() There are three actual changes in this commit: 1. When the trailing newline of a file is removed in a diff, the change will now be reported with `GIT_DIFF_LINE_DEL_EOFNL` passed to the callback. Previously, the `ADD_EOFNL` constant was given which was just an error in my understanding of when the various circumstances arose. `GIT_DIFF_LINE_ADD_EOFNL` is deprecated and should never be generated. A new newline is simply an `ADD`. 2. Rewrote the `diff_delta__merge_like_cgit` function that contains the core logic of the `git_diff_merge` implementation. The new version doesn't actually have significantly different behavior, but the logic should be much more obvious, I think. 3. Fixed a bug in `git_diff_merge` where it freed a string pool while some of the string data was still in use. This led to `git_diff_print_patch` accessing memory that had been freed. The rest of this commit contains improved documentation in `diff.h` to make the behavior and the equivalencies with core git clearer, and a bunch of new tests to cover the various cases, oh and a minor simplification of `examples/diff.c`. |
||
---|---|---|
.. | ||
attr | ||
buf | ||
commit | ||
config | ||
core | ||
date | ||
diff | ||
index | ||
network | ||
notes | ||
object | ||
odb | ||
refs | ||
repo | ||
reset | ||
resources | ||
revwalk | ||
status | ||
threads | ||
clar | ||
clar_helpers.c | ||
clar_libgit2.h | ||
README.md |
Writing Clar tests for libgit2
For information on the Clar testing framework and a detailed introduction please visit:
https://github.com/tanoku/clar
-
Write your modules and tests. Use good, meaningful names.
-
Make sure you actually build the tests by setting:
cmake -DBUILD_CLAR=ON build/
-
Test:
./build/libgit2_clar
-
Make sure everything is fine.
-
Send your pull request. That's it.