1. 05 Jan, 2023 1 commit
    • Use `git_clone__submodule` to avoid file checks in workdir · ae7a0a63
      `git_clone` checks for existence of (non-empty) directories that would clash with what is about to be cloned.
      
      This is problematic when cloning submodules since they make sense in the context of a parent module, so they should not use the current working dir.
      
      Since in `git_submodule_update` we clone the submodule only when it is not yet initialized we do not need to perform directory checks.
      Aleš Bizjak committed
  2. 28 Nov, 2022 1 commit
  3. 25 Nov, 2022 2 commits
  4. 23 Nov, 2022 4 commits
  5. 19 Nov, 2022 1 commit
  6. 18 Nov, 2022 3 commits
  7. 10 Nov, 2022 1 commit
  8. 03 Nov, 2022 4 commits
    • commit-graph: only verify csum on git_commit_graph_open(). · 2c4eb83e
      It is expensive to compute the sha1 of the entire commit-graph file each
      time we open it. Git only does this if it is re-writing the file.
      
      This patch will only verify the checksum when calling the external API
      git_commit_graph_open(), which explicitly says it opens and verifies
      the commit graph in the documentation.
      
      For internal library calls, we call git_commit_graph_get_file(), which
      mmaps the commit-graph file in read-only mode. Therefore it is safe to
      skip the validation check there.
      
      Tests were added to check that the validation works in the happy path,
      and prevents us from opening the file when validation fails.
      
      (Note from Derrick Stolee: This patch was applied internally at GitHub
      after we recognized the performance impact it had during an upgrade of
      libgit2. The original author left the company before we remembered to
      send it upstream.)
      
      Signed-off-by: Derrick Stolee <derrickstolee@github.com>
      Colin Stolley committed
    • Missing dispose · a8b18f15
      Julian Mesa committed
    • Fix leak in git_tag_create_from_buffer · c7e8de17
      If the tag already exists and we are not forcing overwrite we need to free ref_name buffer before return the "tag already exists" error.
      Julian Mesa committed
  9. 20 Oct, 2022 1 commit
    • http: Update httpclient options when reusing an existing connection. · f8683b7a
      Httpclient internally stores a copy of the certificate_check callback and
      payload. When connecting via HTTPS, and if the server sends back
      "Connection: close" after the first request, the following request would
      attempt to re-use the httpclient and call the (now outdated) callback. In
      particular for pygit2 this is a problem, since callbacks / payloads are only
      valid for the duration of a libgit2 call, leading to a ffi.from_handle()
      error and crashing the Python interpreter.
      Sebastian Lackner committed
  10. 18 Oct, 2022 1 commit
  11. 07 Oct, 2022 1 commit
  12. 01 Oct, 2022 2 commits
  13. 21 Sep, 2022 1 commit
  14. 19 Sep, 2022 14 commits
  15. 16 Sep, 2022 3 commits