mirror of
https://git.proxmox.com/git/libgit2
synced 2025-05-28 06:47:53 +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.