mirror of
https://git.proxmox.com/git/libgit2
synced 2025-12-29 20:17:17 +00:00
So, @nulltoken created a failing test case for checkout that proved to be particularly daunting. If checkout is given only a very limited strategy mask (e.g. just GIT_CHECKOUT_CREATE_MISSING) then it is possible for typechange/rename modifications to leave it unable to complete the request. That's okay, but the existing code did not have enough information not to generate an error (at least for tree/blob conflicts). This led me to a significant reorganization of the code to handle the failing case, but it has three benefits: 1. The test case is handled correctly (I think) 2. The new code should actually be much faster than the old code since I decided to make checkout aware of diff list internals. 3. The progress value accuracy is hugely increased since I added a fourth pass which calculates exactly what work needs to be done before doing anything. |
||
|---|---|---|
| .. | ||
| attr | ||
| buf | ||
| checkout | ||
| clone | ||
| commit | ||
| config | ||
| core | ||
| date | ||
| diff | ||
| index | ||
| network | ||
| notes | ||
| object | ||
| odb | ||
| pack | ||
| refs | ||
| repo | ||
| reset | ||
| resources | ||
| revwalk | ||
| stash | ||
| status | ||
| submodule | ||
| threads | ||
| clar | ||
| clar_helpers.c | ||
| clar_libgit2.h | ||
| README.md | ||
| valgrind-supp-mac.txt | ||
Writing Clar tests for libgit2
For information on the Clar testing framework and a detailed introduction please visit:
-
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.