1. 30 Jun, 2020 1 commit
  2. 15 May, 2020 1 commit
    • cmake: Sort source files for reproducible builds · b85eefb4
      We currently use `FILE(GLOB ...)` in most places to find source and
      header files. This is problematic in that the order of files returned
      depends on the operating system's directory iteration order and may thus
      not be deterministic. As a result, we link object files in unspecified
      order, which may cause the linker to emit different code across runs.
      
      Fix this issue by sorting all code used as input to the libgit2 library
      to improve the reliability of reproducible builds.
      Patrick Steinhardt committed
  3. 24 Jun, 2019 1 commit
  4. 06 Jan, 2019 1 commit
  5. 30 Aug, 2018 1 commit
    • docs: clarify and include licenses of dependencies · 2e0f926e
      While our contribution guide tries to make clear the licenses that apply
      to libgit2, it does not make clear that different licenses apply to our
      bundled dependencies. Make this clear by listing each dependency
      together with the licenses that they are governed by. Furthermore,
      bundle the complete license texts next to the code they apply to.
      Patrick Steinhardt committed
  6. 07 Mar, 2018 1 commit
  7. 20 Sep, 2017 1 commit
    • cmake: fix static linking for bundled deps · 8c19969a
      Our bundled deps are being built as simple static libraries which are
      then linked into the libgit2 library via `TARGET_LINK_LIBRARIES`. While
      this works for a dynamically built libgit2 library, using this function
      to link two static libraries does not have the expected outcome of
      merging those static libraries into one big library. This leads to
      symbols of our bundled deps being undefined in the resulting libgit2
      archive.
      
      As we have bumped our minimum CMake version to 2.8.11, we can now easily
      make use of object libraries for our bundled dependencies. So build
      instructions are still self-contained inside of the dependency
      directories and the resulting object libraries can just be added to the
      LIBGIT2_OBJECTS list, which will cause them to be linked into the final
      resulting static library. This fixes the issue of undefined symbols.
      Patrick Steinhardt committed
  8. 16 Aug, 2017 1 commit
  9. 03 Jul, 2017 1 commit
    • zlib: include "git2/types.h" instead of "common.h" · 9b0482e4
      The zlib dependency includes "common.h" inside of the "zconf.h" header
      to make available some type declarations like e.g. git_off_t. Including
      the "common.h" header does pull in quite a lot of other headers though,
      which are not required at all. Instead, we can just include our public
      "git2/types.h" header, which is much more limited in its scope but still
      provides everything required for "zconf.h".
      
      This fix eases the transition later on to use a separate "features.h"
      header instead of defines. As we have to generate the "features.h"
      header, we put it in the build directory and add an include directory.
      As we are splitting out building of dependencies into subdirectories,
      this would mean that the zlib dependency needs to be aware of the parent
      project's build directory, which is unfortunate. By including
      "git2/types.h", we avoid this problem.
      Patrick Steinhardt committed
  10. 11 Jun, 2014 5 commits
  11. 08 Aug, 2011 1 commit
  12. 01 Jul, 2011 1 commit
  13. 30 Jun, 2011 1 commit
  14. 16 Mar, 2011 1 commit
  15. 15 Mar, 2011 3 commits