• Show log

    Commit

  • Hash : 3f855fe8
    Author : Patrick Steinhardt
    Date : 2019-07-05T11:06:33

    patch_parse: handle missing newline indicator in old file
    
    When either the old or new file contents have no newline at the end of
    the file, then git-diff(1) will print out a "\ No newline at end of
    file" indicator. While we do correctly handle this in the case where the
    new file has this indcator, we fail to parse patches where the old file
    is missing a newline at EOF.
    
    Fix this bug by handling and missing newline indicators in the old file.
    Add tests to verify that we can parse such files.
    

  • 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.

    Memory leak checks

    These are automatically run as part of CI, but if you want to check locally:

    Linux

    Uses valgrind:

    $ cmake -DBUILD_CLAR=ON -DVALGRIND=ON ..
    $ cmake --build .
    $ valgrind --leak-check=full --show-reachable=yes --num-callers=50 --suppressions=../libgit2_clar.supp \
      ./libgit2_clar

    macOS

    Uses leaks, which requires XCode installed:

    $ MallocStackLogging=1 MallocScribble=1 MallocLogFile=/dev/null CLAR_AT_EXIT="leaks -quiet \$PPID" \
      ./libgit2_clar