• Show log

    Commit

  • Hash : 32def5af
    Author : Russell Belfer
    Date : 2012-10-24T17:37:07

    Fix checkout behavior when its hands are tied
    
    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.
    

  • README.md

  • Writing Clar tests for libgit2

    For information on the Clar testing framework and a detailed introduction please visit:

    https://github.com/vmg/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.