mirror of
https://git.proxmox.com/git/libgit2
synced 2025-12-21 06:28:25 +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.h | ||
| blob.h | ||
| branch.h | ||
| commit.h | ||
| common.h | ||
| config.h | ||
| diff.h | ||
| errors.h | ||
| index.h | ||
| indexer.h | ||
| inttypes.h | ||
| merge.h | ||
| net.h | ||
| notes.h | ||
| object.h | ||
| odb_backend.h | ||
| odb.h | ||
| oid.h | ||
| reflog.h | ||
| refs.h | ||
| refspec.h | ||
| remote.h | ||
| repository.h | ||
| reset.h | ||
| revparse.h | ||
| revwalk.h | ||
| signature.h | ||
| status.h | ||
| stdint.h | ||
| submodule.h | ||
| tag.h | ||
| threads.h | ||
| tree.h | ||
| types.h | ||
| version.h | ||
| windows.h | ||