1. 17 Jan, 2019 1 commit
    • references: use full name in type names · 87fe5788
      Update the reference type names from an abbreviation (`git_ref`) to use
      the fullname (`git_reference`).  This ensures that we are consistent
      with our naming for reference types and functions throughout the
      library.
      
      The previous names are now marked as deprecated.
      Edward Thomson committed
  2. 15 Jan, 2019 2 commits
  3. 14 Jan, 2019 4 commits
  4. 10 Jan, 2019 4 commits
  5. 09 Jan, 2019 3 commits
  6. 08 Jan, 2019 1 commit
  7. 07 Jan, 2019 1 commit
  8. 04 Jan, 2019 6 commits
  9. 03 Jan, 2019 2 commits
  10. 02 Jan, 2019 2 commits
    • global: move init callbacks into an array · b46c3594
      We currently have an explicit callchain of all the initialization
      callbacks in our `init_common` function. This is perfectly fine, but
      requires us to manually keep track of how many shutdown callbacks there
      may be installed: to avoid allocations before libgit2 is fully
      initialized, we assume that every initializer may register at most one
      shutdown function. These shutdown functions are stored in a static array
      of size `MAX_SHUTDOWN_CB`, which then needs to be updated manually
      whenever a new initializer function is being added.
      
      The situation can be easily fixed: convert the callchain of init
      functions into an array and iterate over it to initialize all
      subsystems. This allows us to define the `git__shutdown_callbacks` array
      with the same size as the initializer array and rids us of the need to
      always update `MAX_SHUTDOWN_CB`.
      Patrick Steinhardt committed
    • hash: convert `global_init` macros to real function · 03dc6480
      The `git_hash_global_init` function is simply defined as a macro to zero
      for most of the different hash implementations. This makes it impossible
      to treat it like a function pointer, which is required for a later
      commit where we want to improve the way global initialization works.
      Fix the issue by converting all no-op macros to an inline function
      returning zero.
      
      There's a small gotcha here, though: as most hash implementations only
      have a header file, but not a corresponding implementation file, we
      cannot declare the function as non-static. But declaring it as `static
      inline` fails, too, as there is a previous declaration as non-static. So
      we have to move the function declaration after the include that brings
      in the function definition, as it is allowed to have a non-static
      declaration after a static definition, but not the other way round.
      Patrick Steinhardt committed
  11. 19 Dec, 2018 5 commits
  12. 14 Dec, 2018 3 commits
  13. 06 Dec, 2018 2 commits
  14. 05 Dec, 2018 1 commit
  15. 04 Dec, 2018 3 commits