1. 14 Jul, 2022 1 commit
  2. 20 Jun, 2022 1 commit
  3. 10 Apr, 2022 1 commit
    • tree: move git_oid into tree entry · ab042161
      A tree entry previously pointed directly into the object id within the
      tree object itself; this is useful to avoid any unnecessary memory copy
      (and an unnecessary use of 40 bytes per tree entry) but difficult if we
      change the underlying `git_oid` object to not simply be a raw object id
      but have additional structure.
      
      This commit moves the `git_oid` directly into the tree entry; this
      simplifies the tree entry creation from user data.  We now copy the
      `git_oid` into place when parsing.
      Edward Thomson committed
  4. 23 Feb, 2022 1 commit
  5. 17 Oct, 2021 1 commit
    • str: introduce `git_str` for internal, `git_buf` is external · f0e693b1
      libgit2 has two distinct requirements that were previously solved by
      `git_buf`.  We require:
      
      1. A general purpose string class that provides a number of utility APIs
         for manipulating data (eg, concatenating, truncating, etc).
      2. A structure that we can use to return strings to callers that they
         can take ownership of.
      
      By using a single class (`git_buf`) for both of these purposes, we have
      confused the API to the point that refactorings are difficult and
      reasoning about correctness is also difficult.
      
      Move the utility class `git_buf` to be called `git_str`: this represents
      its general purpose, as an internal string buffer class.  The name also
      is an homage to Junio Hamano ("gitstr").
      
      The public API remains `git_buf`, and has a much smaller footprint.  It
      is generally only used as an "out" param with strict requirements that
      follow the documentation.  (Exceptions exist for some legacy APIs to
      avoid breaking callers unnecessarily.)
      
      Utility functions exist to convert a user-specified `git_buf` to a
      `git_str` so that we can call internal functions, then converting it
      back again.
      Edward Thomson committed
  6. 20 Jul, 2019 1 commit
  7. 10 Jun, 2018 1 commit
  8. 31 Mar, 2016 1 commit
  9. 24 Mar, 2016 2 commits