1. 23 Mar, 2022 2 commits
  2. 23 Feb, 2022 2 commits
  3. 02 Oct, 2021 1 commit
  4. 27 Nov, 2020 1 commit
  5. 24 Jun, 2019 4 commits
    • hash: move SHA1 implementations to its own hashing context · 8832172e
      Create a separate `git_hash_sha1_ctx` structure that is specific
      to the SHA1 implementation and move all SHA1 functions over to
      use that one instead of the generic `git_hash_ctx`. The
      `git_hash_ctx` for now simply has a union containing this single
      SHA1 implementation, only, without any mechanism to distinguish
      between different algortihms.
      Patrick Steinhardt committed
    • hash: split into generic and SHA1-specific interface · d46d3b53
      As a preparatory step to allow multiple hashing APIs to exist at
      the same time, split the hashing functions into one layer for generic
      hashing and one layer for SHA1-specific hashing. Right now, this is
      simply an additional indirection layer that doesn't yet serve any
      purpose. In the future, the generic API will be extended to allow for
      choosing which hash to use, though, by simply passing an enum to the
      hash context initialization function. This is necessary as a first step
      to be ready for Git's move to SHA256.
      Patrick Steinhardt committed
    • hash: move SHA1 implementations into 'sha1/' folder · fda20622
      As we will include additional hash algorithms in the future due
      to upstream git discussing a move away from SHA1, we should
      accomodate for that and prepare for the move. As a first step,
      move all SHA1 implementations into a common subdirectory.
      
      Also, create a SHA1-specific header file that lives inside the
      hash folder. This header will contain the SHA1-specific header
      includes, function declarations and the SHA1 context structure.
      Patrick Steinhardt committed
    • hash: introduce source files to break include circles · bd48bf3f
      The hash source files have circular include dependencies right
      now, which shows by our broken generic hash implementation. The
      "hash.h" header declares two functions and the `git_hash_ctx`
      typedef before actually including the hash backend header and can
      only declare the remaining hash functions after the include due
      to possibly static function declarations inside of the
      implementation includes.
      
      Let's break this cycle and help maintainability by creating a
      real implementation file for each of the hash implementations.
      Instead of relying on the exact include order, we now especially
      avoid the use of `GIT_INLINE` for function declarations.
      Patrick Steinhardt committed
  6. 11 Apr, 2018 1 commit