pygit2 1.19.2__tar.gz → 1.20.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (206) hide show
  1. pygit2-1.20.0/AGENTS.md +293 -0
  2. {pygit2-1.19.2 → pygit2-1.20.0}/AUTHORS.md +6 -2
  3. {pygit2-1.19.2 → pygit2-1.20.0}/CHANGELOG.md +77 -0
  4. pygit2-1.20.0/CONTRIBUTING.md +91 -0
  5. {pygit2-1.19.2 → pygit2-1.20.0}/COPYING +2 -3
  6. pygit2-1.20.0/Makefile +7 -0
  7. {pygit2-1.19.2 → pygit2-1.20.0}/PKG-INFO +1 -1
  8. {pygit2-1.19.2 → pygit2-1.20.0}/build.ps1 +2 -0
  9. {pygit2-1.19.2 → pygit2-1.20.0}/build.sh +5 -5
  10. {pygit2-1.19.2 → pygit2-1.20.0}/pygit2/__init__.py +20 -79
  11. {pygit2-1.19.2 → pygit2-1.20.0}/pygit2/_build.py +2 -2
  12. {pygit2-1.19.2 → pygit2-1.20.0}/pygit2/_libgit2/ffi.pyi +65 -2
  13. {pygit2-1.19.2 → pygit2-1.20.0}/pygit2/_pygit2.pyi +153 -135
  14. {pygit2-1.19.2 → pygit2-1.20.0}/pygit2/_run.py +2 -1
  15. {pygit2-1.19.2 → pygit2-1.20.0}/pygit2/blame.py +3 -3
  16. {pygit2-1.19.2 → pygit2-1.20.0}/pygit2/branches.py +1 -1
  17. {pygit2-1.19.2 → pygit2-1.20.0}/pygit2/callbacks.py +102 -46
  18. {pygit2-1.19.2 → pygit2-1.20.0}/pygit2/config.py +68 -24
  19. {pygit2-1.19.2 → pygit2-1.20.0}/pygit2/credentials.py +1 -1
  20. pygit2-1.20.0/pygit2/decl/rebase.h +80 -0
  21. {pygit2-1.19.2 → pygit2-1.20.0}/pygit2/enums.py +32 -3
  22. {pygit2-1.19.2 → pygit2-1.20.0}/pygit2/errors.py +1 -1
  23. {pygit2-1.19.2 → pygit2-1.20.0}/pygit2/ffi.py +1 -1
  24. {pygit2-1.19.2 → pygit2-1.20.0}/pygit2/filter.py +4 -4
  25. {pygit2-1.19.2 → pygit2-1.20.0}/pygit2/index.py +17 -17
  26. {pygit2-1.19.2 → pygit2-1.20.0}/pygit2/options.py +19 -24
  27. {pygit2-1.19.2 → pygit2-1.20.0}/pygit2/packbuilder.py +3 -3
  28. pygit2-1.20.0/pygit2/rebase.py +249 -0
  29. {pygit2-1.19.2 → pygit2-1.20.0}/pygit2/references.py +1 -1
  30. {pygit2-1.19.2 → pygit2-1.20.0}/pygit2/refspec.py +5 -5
  31. {pygit2-1.19.2 → pygit2-1.20.0}/pygit2/remotes.py +38 -55
  32. {pygit2-1.19.2 → pygit2-1.20.0}/pygit2/repository.py +291 -64
  33. {pygit2-1.19.2 → pygit2-1.20.0}/pygit2/settings.py +1 -1
  34. {pygit2-1.19.2 → pygit2-1.20.0}/pygit2/submodules.py +12 -15
  35. {pygit2-1.19.2 → pygit2-1.20.0}/pygit2/transaction.py +9 -9
  36. {pygit2-1.19.2 → pygit2-1.20.0}/pygit2/utils.py +45 -7
  37. {pygit2-1.19.2 → pygit2-1.20.0}/pyproject.toml +10 -10
  38. {pygit2-1.19.2 → pygit2-1.20.0}/setup.py +1 -2
  39. {pygit2-1.19.2 → pygit2-1.20.0}/src/blob.c +1 -1
  40. {pygit2-1.19.2 → pygit2-1.20.0}/src/branch.c +1 -1
  41. {pygit2-1.19.2 → pygit2-1.20.0}/src/branch.h +1 -1
  42. {pygit2-1.19.2 → pygit2-1.20.0}/src/commit.c +1 -1
  43. {pygit2-1.19.2 → pygit2-1.20.0}/src/diff.c +13 -2
  44. {pygit2-1.19.2 → pygit2-1.20.0}/src/diff.h +1 -1
  45. {pygit2-1.19.2 → pygit2-1.20.0}/src/error.c +1 -1
  46. {pygit2-1.19.2 → pygit2-1.20.0}/src/error.h +1 -1
  47. {pygit2-1.19.2 → pygit2-1.20.0}/src/filter.c +1 -1
  48. {pygit2-1.19.2 → pygit2-1.20.0}/src/filter.h +1 -1
  49. {pygit2-1.19.2 → pygit2-1.20.0}/src/mailmap.c +1 -1
  50. {pygit2-1.19.2 → pygit2-1.20.0}/src/mailmap.h +1 -1
  51. {pygit2-1.19.2 → pygit2-1.20.0}/src/note.c +1 -1
  52. {pygit2-1.19.2 → pygit2-1.20.0}/src/note.h +1 -1
  53. {pygit2-1.19.2 → pygit2-1.20.0}/src/object.c +1 -1
  54. {pygit2-1.19.2 → pygit2-1.20.0}/src/object.h +1 -1
  55. {pygit2-1.19.2 → pygit2-1.20.0}/src/odb.c +2 -2
  56. {pygit2-1.19.2 → pygit2-1.20.0}/src/odb.h +1 -1
  57. {pygit2-1.19.2 → pygit2-1.20.0}/src/odb_backend.c +11 -3
  58. {pygit2-1.19.2 → pygit2-1.20.0}/src/odb_backend.h +1 -1
  59. {pygit2-1.19.2 → pygit2-1.20.0}/src/oid.c +1 -1
  60. {pygit2-1.19.2 → pygit2-1.20.0}/src/oid.h +1 -1
  61. {pygit2-1.19.2 → pygit2-1.20.0}/src/patch.c +1 -1
  62. {pygit2-1.19.2 → pygit2-1.20.0}/src/patch.h +1 -1
  63. {pygit2-1.19.2 → pygit2-1.20.0}/src/pygit2.c +1 -1
  64. {pygit2-1.19.2 → pygit2-1.20.0}/src/refdb.c +1 -1
  65. {pygit2-1.19.2 → pygit2-1.20.0}/src/refdb.h +1 -1
  66. {pygit2-1.19.2 → pygit2-1.20.0}/src/refdb_backend.c +186 -66
  67. {pygit2-1.19.2 → pygit2-1.20.0}/src/refdb_backend.h +1 -1
  68. {pygit2-1.19.2 → pygit2-1.20.0}/src/reference.c +3 -2
  69. {pygit2-1.19.2 → pygit2-1.20.0}/src/reference.h +1 -1
  70. {pygit2-1.19.2 → pygit2-1.20.0}/src/repository.c +11 -4
  71. {pygit2-1.19.2 → pygit2-1.20.0}/src/repository.h +1 -1
  72. {pygit2-1.19.2 → pygit2-1.20.0}/src/revspec.c +1 -1
  73. {pygit2-1.19.2 → pygit2-1.20.0}/src/revspec.h +1 -1
  74. {pygit2-1.19.2 → pygit2-1.20.0}/src/signature.c +1 -1
  75. {pygit2-1.19.2 → pygit2-1.20.0}/src/signature.h +1 -1
  76. {pygit2-1.19.2 → pygit2-1.20.0}/src/stash.c +1 -1
  77. {pygit2-1.19.2 → pygit2-1.20.0}/src/tag.c +1 -1
  78. {pygit2-1.19.2 → pygit2-1.20.0}/src/tree.c +1 -1
  79. {pygit2-1.19.2 → pygit2-1.20.0}/src/tree.h +1 -1
  80. {pygit2-1.19.2 → pygit2-1.20.0}/src/treebuilder.c +1 -1
  81. {pygit2-1.19.2 → pygit2-1.20.0}/src/treebuilder.h +1 -1
  82. {pygit2-1.19.2 → pygit2-1.20.0}/src/types.h +1 -1
  83. {pygit2-1.19.2 → pygit2-1.20.0}/src/utils.c +1 -1
  84. {pygit2-1.19.2 → pygit2-1.20.0}/src/utils.h +1 -18
  85. {pygit2-1.19.2 → pygit2-1.20.0}/src/walker.c +1 -1
  86. {pygit2-1.19.2 → pygit2-1.20.0}/src/walker.h +1 -1
  87. {pygit2-1.19.2 → pygit2-1.20.0}/src/worktree.c +1 -1
  88. {pygit2-1.19.2 → pygit2-1.20.0}/src/worktree.h +1 -1
  89. {pygit2-1.19.2 → pygit2-1.20.0}/test/__init__.py +1 -1
  90. {pygit2-1.19.2 → pygit2-1.20.0}/test/test_apply_diff.py +1 -1
  91. {pygit2-1.19.2 → pygit2-1.20.0}/test/test_archive.py +16 -14
  92. {pygit2-1.19.2 → pygit2-1.20.0}/test/test_attributes.py +1 -1
  93. {pygit2-1.19.2 → pygit2-1.20.0}/test/test_blame.py +1 -1
  94. {pygit2-1.19.2 → pygit2-1.20.0}/test/test_blob.py +1 -1
  95. {pygit2-1.19.2 → pygit2-1.20.0}/test/test_branch.py +1 -1
  96. {pygit2-1.19.2 → pygit2-1.20.0}/test/test_branch_empty.py +1 -1
  97. {pygit2-1.19.2 → pygit2-1.20.0}/test/test_cherrypick.py +1 -1
  98. {pygit2-1.19.2 → pygit2-1.20.0}/test/test_commit.py +1 -1
  99. {pygit2-1.19.2 → pygit2-1.20.0}/test/test_commit_gpg.py +1 -1
  100. {pygit2-1.19.2 → pygit2-1.20.0}/test/test_commit_trailer.py +1 -1
  101. {pygit2-1.19.2 → pygit2-1.20.0}/test/test_config.py +90 -33
  102. {pygit2-1.19.2 → pygit2-1.20.0}/test/test_credentials.py +1 -1
  103. {pygit2-1.19.2 → pygit2-1.20.0}/test/test_describe.py +1 -1
  104. {pygit2-1.19.2 → pygit2-1.20.0}/test/test_diff.py +1 -1
  105. {pygit2-1.19.2 → pygit2-1.20.0}/test/test_diff_binary.py +1 -1
  106. {pygit2-1.19.2 → pygit2-1.20.0}/test/test_index.py +1 -1
  107. {pygit2-1.19.2 → pygit2-1.20.0}/test/test_mailmap.py +1 -1
  108. {pygit2-1.19.2 → pygit2-1.20.0}/test/test_merge.py +3 -22
  109. {pygit2-1.19.2 → pygit2-1.20.0}/test/test_nonunicode.py +21 -5
  110. {pygit2-1.19.2 → pygit2-1.20.0}/test/test_note.py +1 -1
  111. {pygit2-1.19.2 → pygit2-1.20.0}/test/test_object.py +1 -1
  112. {pygit2-1.19.2 → pygit2-1.20.0}/test/test_odb.py +1 -1
  113. {pygit2-1.19.2 → pygit2-1.20.0}/test/test_odb_backend.py +1 -1
  114. {pygit2-1.19.2 → pygit2-1.20.0}/test/test_oid.py +1 -1
  115. {pygit2-1.19.2 → pygit2-1.20.0}/test/test_options.py +1 -1
  116. {pygit2-1.19.2 → pygit2-1.20.0}/test/test_packbuilder.py +1 -1
  117. {pygit2-1.19.2 → pygit2-1.20.0}/test/test_patch.py +1 -1
  118. {pygit2-1.19.2 → pygit2-1.20.0}/test/test_patch_encoding.py +1 -1
  119. pygit2-1.20.0/test/test_rebase.py +795 -0
  120. pygit2-1.20.0/test/test_refdb_backend.py +295 -0
  121. {pygit2-1.19.2 → pygit2-1.20.0}/test/test_refs.py +1 -1
  122. {pygit2-1.19.2 → pygit2-1.20.0}/test/test_remote.py +142 -31
  123. {pygit2-1.19.2 → pygit2-1.20.0}/test/test_remote_prune.py +1 -1
  124. {pygit2-1.19.2 → pygit2-1.20.0}/test/test_remote_utf8.py +1 -1
  125. {pygit2-1.19.2 → pygit2-1.20.0}/test/test_repository.py +70 -56
  126. {pygit2-1.19.2 → pygit2-1.20.0}/test/test_repository_bare.py +2 -2
  127. {pygit2-1.19.2 → pygit2-1.20.0}/test/test_repository_custom.py +1 -1
  128. {pygit2-1.19.2 → pygit2-1.20.0}/test/test_repository_empty.py +1 -1
  129. {pygit2-1.19.2 → pygit2-1.20.0}/test/test_revparse.py +1 -1
  130. {pygit2-1.19.2 → pygit2-1.20.0}/test/test_revwalk.py +1 -1
  131. {pygit2-1.19.2 → pygit2-1.20.0}/test/test_settings.py +1 -1
  132. {pygit2-1.19.2 → pygit2-1.20.0}/test/test_signature.py +1 -1
  133. {pygit2-1.19.2 → pygit2-1.20.0}/test/test_status.py +1 -1
  134. {pygit2-1.19.2 → pygit2-1.20.0}/test/test_submodule.py +1 -1
  135. {pygit2-1.19.2 → pygit2-1.20.0}/test/test_tag.py +1 -1
  136. {pygit2-1.19.2 → pygit2-1.20.0}/test/test_transaction.py +1 -1
  137. {pygit2-1.19.2 → pygit2-1.20.0}/test/test_tree.py +1 -1
  138. {pygit2-1.19.2 → pygit2-1.20.0}/test/test_treebuilder.py +1 -1
  139. {pygit2-1.19.2 → pygit2-1.20.0}/test/utils.py +1 -1
  140. pygit2-1.19.2/Makefile +0 -7
  141. pygit2-1.19.2/pygit2/legacyenums.py +0 -113
  142. pygit2-1.19.2/test/test_refdb_backend.py +0 -140
  143. {pygit2-1.19.2 → pygit2-1.20.0}/README.md +0 -0
  144. {pygit2-1.19.2 → pygit2-1.20.0}/SPONSORS.md +0 -0
  145. {pygit2-1.19.2 → pygit2-1.20.0}/build_tag.py +0 -0
  146. {pygit2-1.19.2 → pygit2-1.20.0}/mypy-stubtest.ini +0 -0
  147. {pygit2-1.19.2 → pygit2-1.20.0}/mypy.ini +0 -0
  148. {pygit2-1.19.2 → pygit2-1.20.0}/pygit2/blob.py +0 -0
  149. {pygit2-1.19.2 → pygit2-1.20.0}/pygit2/decl/attr.h +0 -0
  150. {pygit2-1.19.2 → pygit2-1.20.0}/pygit2/decl/blame.h +0 -0
  151. {pygit2-1.19.2 → pygit2-1.20.0}/pygit2/decl/buffer.h +0 -0
  152. {pygit2-1.19.2 → pygit2-1.20.0}/pygit2/decl/callbacks.h +0 -0
  153. {pygit2-1.19.2 → pygit2-1.20.0}/pygit2/decl/checkout.h +0 -0
  154. {pygit2-1.19.2 → pygit2-1.20.0}/pygit2/decl/clone.h +0 -0
  155. {pygit2-1.19.2 → pygit2-1.20.0}/pygit2/decl/commit.h +0 -0
  156. {pygit2-1.19.2 → pygit2-1.20.0}/pygit2/decl/common.h +0 -0
  157. {pygit2-1.19.2 → pygit2-1.20.0}/pygit2/decl/config.h +0 -0
  158. {pygit2-1.19.2 → pygit2-1.20.0}/pygit2/decl/describe.h +0 -0
  159. {pygit2-1.19.2 → pygit2-1.20.0}/pygit2/decl/diff.h +0 -0
  160. {pygit2-1.19.2 → pygit2-1.20.0}/pygit2/decl/errors.h +0 -0
  161. {pygit2-1.19.2 → pygit2-1.20.0}/pygit2/decl/filter.h +0 -0
  162. {pygit2-1.19.2 → pygit2-1.20.0}/pygit2/decl/graph.h +0 -0
  163. {pygit2-1.19.2 → pygit2-1.20.0}/pygit2/decl/index.h +0 -0
  164. {pygit2-1.19.2 → pygit2-1.20.0}/pygit2/decl/indexer.h +0 -0
  165. {pygit2-1.19.2 → pygit2-1.20.0}/pygit2/decl/merge.h +0 -0
  166. {pygit2-1.19.2 → pygit2-1.20.0}/pygit2/decl/net.h +0 -0
  167. {pygit2-1.19.2 → pygit2-1.20.0}/pygit2/decl/oid.h +0 -0
  168. {pygit2-1.19.2 → pygit2-1.20.0}/pygit2/decl/options.h +0 -0
  169. {pygit2-1.19.2 → pygit2-1.20.0}/pygit2/decl/pack.h +0 -0
  170. {pygit2-1.19.2 → pygit2-1.20.0}/pygit2/decl/proxy.h +0 -0
  171. {pygit2-1.19.2 → pygit2-1.20.0}/pygit2/decl/refspec.h +0 -0
  172. {pygit2-1.19.2 → pygit2-1.20.0}/pygit2/decl/remote.h +0 -0
  173. {pygit2-1.19.2 → pygit2-1.20.0}/pygit2/decl/repository.h +0 -0
  174. {pygit2-1.19.2 → pygit2-1.20.0}/pygit2/decl/revert.h +0 -0
  175. {pygit2-1.19.2 → pygit2-1.20.0}/pygit2/decl/stash.h +0 -0
  176. {pygit2-1.19.2 → pygit2-1.20.0}/pygit2/decl/strarray.h +0 -0
  177. {pygit2-1.19.2 → pygit2-1.20.0}/pygit2/decl/submodule.h +0 -0
  178. {pygit2-1.19.2 → pygit2-1.20.0}/pygit2/decl/transaction.h +0 -0
  179. {pygit2-1.19.2 → pygit2-1.20.0}/pygit2/decl/transport.h +0 -0
  180. {pygit2-1.19.2 → pygit2-1.20.0}/pygit2/decl/types.h +0 -0
  181. {pygit2-1.19.2 → pygit2-1.20.0}/pygit2/py.typed +0 -0
  182. {pygit2-1.19.2 → pygit2-1.20.0}/pytest.ini +0 -0
  183. {pygit2-1.19.2 → pygit2-1.20.0}/requirements-test.txt +0 -0
  184. {pygit2-1.19.2 → pygit2-1.20.0}/requirements-typing.txt +0 -0
  185. {pygit2-1.19.2 → pygit2-1.20.0}/requirements-wheel.txt +0 -0
  186. {pygit2-1.19.2 → pygit2-1.20.0}/requirements.txt +0 -0
  187. {pygit2-1.19.2 → pygit2-1.20.0}/setup.cfg +0 -0
  188. {pygit2-1.19.2 → pygit2-1.20.0}/src/wildmatch.c +0 -0
  189. {pygit2-1.19.2 → pygit2-1.20.0}/src/wildmatch.h +0 -0
  190. {pygit2-1.19.2 → pygit2-1.20.0}/test/conftest.py +0 -0
  191. {pygit2-1.19.2 → pygit2-1.20.0}/test/data/barerepo.zip +0 -0
  192. {pygit2-1.19.2 → pygit2-1.20.0}/test/data/binaryfilerepo.zip +0 -0
  193. {pygit2-1.19.2 → pygit2-1.20.0}/test/data/blameflagsrepo.zip +0 -0
  194. {pygit2-1.19.2 → pygit2-1.20.0}/test/data/dirtyrepo.zip +0 -0
  195. {pygit2-1.19.2 → pygit2-1.20.0}/test/data/emptyrepo.zip +0 -0
  196. {pygit2-1.19.2 → pygit2-1.20.0}/test/data/encoding.zip +0 -0
  197. {pygit2-1.19.2 → pygit2-1.20.0}/test/data/gpgsigned.zip +0 -0
  198. {pygit2-1.19.2 → pygit2-1.20.0}/test/data/submodulerepo.zip +0 -0
  199. {pygit2-1.19.2 → pygit2-1.20.0}/test/data/testrepo.zip +0 -0
  200. {pygit2-1.19.2 → pygit2-1.20.0}/test/data/testrepoformerging.zip +0 -0
  201. {pygit2-1.19.2 → pygit2-1.20.0}/test/data/testrepopacked.zip +0 -0
  202. {pygit2-1.19.2 → pygit2-1.20.0}/test/data/trailerrepo.zip +0 -0
  203. {pygit2-1.19.2 → pygit2-1.20.0}/test/data/utf8branchrepo.zip +0 -0
  204. {pygit2-1.19.2 → pygit2-1.20.0}/test/keys/pygit2_empty +0 -0
  205. {pygit2-1.19.2 → pygit2-1.20.0}/test/keys/pygit2_empty.pub +0 -0
  206. {pygit2-1.19.2 → pygit2-1.20.0}/test/test_filter.py +0 -0
@@ -0,0 +1,293 @@
1
+ # pygit2 Agent Guide
2
+
3
+ ## Project Overview
4
+
5
+ **pygit2** is a Python library that provides bindings to
6
+ [libgit2](https://libgit2.org/), the shared C library that implements Git
7
+ plumbing operations. It exposes both a low-level API (direct libgit2 wrappers)
8
+ and a high-level, Pythonic API for repository manipulation.
9
+
10
+ - **Version**: 1.19.3 (canonical version is defined in `pygit2/_build.py`)
11
+ - **License**: GPLv2 with linking exception (see `COPYING`)
12
+ - **Maintainer**: J. David Ibáñez
13
+ - **Python Support**: 3.11 – 3.14 and PyPy3 7.3+
14
+ - **libgit2 Version**: 1.9.6
15
+ - **Homepage**: <https://www.pygit2.org/>
16
+ - **Repository**: <https://github.com/libgit2/pygit2>
17
+
18
+ ## Architecture
19
+
20
+ The project uses a **hybrid C/Python** architecture with two compiled extension
21
+ modules:
22
+
23
+ - **`src/`** — C11 source and header files that compile into the `_pygit2` C
24
+ extension module. Each file generally maps to a libgit2 concept:
25
+ - Core objects: `blob.c`, `commit.c`, `object.c`, `tag.c`, `tree.c`
26
+ - Repository, refs and branches: `repository.c`, `branch.c`, `reference.c`,
27
+ `refdb.c`, `refdb_backend.c`, `revspec.c`, `worktree.c`
28
+ - Diff and patch: `diff.c`, `patch.c`
29
+ - ODB and backends: `odb.c`, `odb_backend.c`
30
+ - Index, walking and helpers: `treebuilder.c`, `walker.c`, `oid.c`,
31
+ `note.c`, `signature.c`, `mailmap.c`, `stash.c`
32
+ - Filters: `filter.c`
33
+ - Module infrastructure: `pygit2.c`, `error.c`, `utils.c`, `wildmatch.c`
34
+ - Headers: `*.h` files mirroring the C sources (e.g. `repository.h`,
35
+ `diff.h`, `types.h`, `error.h`)
36
+
37
+ - **`pygit2/`** — The main Python package.
38
+ - **`_pygit2*.so`** — Compiled C extension built from `src/`.
39
+ - **`_libgit2.abi3.so`** — CFFI-generated ABI module built from
40
+ `pygit2/_run.py`.
41
+ - **`decl/`** — C header stub files used by CFFI to define the libgit2 API
42
+ surface (e.g. `types.h`, `repository.h`, `callbacks.h`, `diff.h`,
43
+ `remote.h`). `pygit2/_run.py` concatenates these stubs in a specific order
44
+ before passing them to CFFI.
45
+ - **`_build.py`** — Build-time helpers and the canonical `__version__`
46
+ string. Also used at runtime to locate libgit2. It must remain importable
47
+ without the rest of the package being built because `setup.py` imports it.
48
+ - **`_run.py`** — CFFI build script that aggregates `decl/*.h` and compiles
49
+ `pygit2._libgit2`.
50
+ - **`ffi.py`** — Runtime import of the CFFI `ffi` and `lib` (`C`) objects.
51
+ - **`_pygit2.pyi`** — Type stubs for the C extension. Keep it in sync when
52
+ adding or changing low-level APIs.
53
+ - **`py.typed`** — PEP 561 marker indicating the package is typed.
54
+ - **High-level modules** — Pure-Python wrappers that sit on top of the C
55
+ extension:
56
+ `repository.py`, `callbacks.py`, `config.py`, `index.py`, `remotes.py`,
57
+ `settings.py`, `submodules.py`, `transaction.py`, `filter.py`, `blob.py`,
58
+ `blame.py`, `branches.py`, `credentials.py`, `errors.py`, `options.py`,
59
+ `packbuilder.py`, `rebase.py`, `references.py`, `refspec.py`, `utils.py`,
60
+ `enums.py`.
61
+
62
+ - **`test/`** — pytest suite with fixture-based repository handling.
63
+ - **`docs/`** — Sphinx documentation (RTD theme).
64
+
65
+ ## Key Configuration Files
66
+
67
+ - **`setup.py`** — setuptools entry point. Builds both the C extension
68
+ (`src/*.c`) and the CFFI extension (`pygit2/_run.py:ffi`). On Windows it
69
+ also copies `git2.dll` into the package (see `BuildWithDLLs`).
70
+ - **`pyproject.toml`** — Build-system requirements, `cibuildwheel`
71
+ configuration, `ruff` settings, and `codespell` settings.
72
+ - **`setup.cfg`** — Legacy pycodestyle configuration.
73
+ - **`pytest.ini`** — pytest configuration (`--capture=no -ra --verbose`,
74
+ `testpaths = test/`).
75
+ - **`mypy.ini`** — mypy configuration with strict settings.
76
+ - **`mypy-stubtest.ini`** — mypy configuration for `stubtest` against
77
+ `_pygit2.pyi` (at the repo root).
78
+ - **`requirements.txt`** — Runtime/build requirements (`cffi>=2.0`,
79
+ `setuptools` for Python >= 3.12).
80
+ - **`requirements-test.txt`** — Test requirements (`pytest`, `pytest-cov`).
81
+ - **`requirements-typing.txt`** — Typing requirements (`mypy`, `types-cffi`).
82
+ - **`Makefile`** — Convenience targets: `make` builds dependencies + extension
83
+ inplace; `make html` builds docs.
84
+ - **`.vimrc`** — Local editor configuration for C development with ALE
85
+ (`-std=c11 -Wall`, Python include path, `/usr/local/include`).
86
+
87
+ ## Build and Test Commands
88
+
89
+ ### Quick Development Build (inplace)
90
+
91
+ Requires libgit2 development headers and library to be installed on the system
92
+ or pointed to via the `LIBGIT2` environment variable.
93
+
94
+ ```bash
95
+ python setup.py build_ext --inplace
96
+ pytest
97
+ ```
98
+
99
+ ### Full Build with Dependencies
100
+
101
+ The `build.sh` script can download, compile, and bundle libgit2 (and optionally
102
+ libssh2, OpenSSL, and zlib) into a local prefix. On Windows, `build.ps1`
103
+ handles libgit2 compilation via CMake.
104
+
105
+ ```bash
106
+ # Build inplace with bundled libgit2/libssh2/OpenSSL
107
+ make
108
+
109
+ # Or manually:
110
+ LIBSSH2_VERSION=1.11.1 LIBGIT2_VERSION=1.9.6 sh build.sh
111
+
112
+ # Build a wheel and bundle the shared libraries into it
113
+ sh build.sh wheel
114
+ sh build.sh bundle
115
+
116
+ # Build inplace and run the tests with coverage (build.sh adds --cov=pygit2)
117
+ sh build.sh test
118
+
119
+ # Run mypy type checking
120
+ sh build.sh mypy
121
+
122
+ # Run stubtest against the .pyi file
123
+ sh build.sh stubtest
124
+ ```
125
+
126
+ `build.sh` creates a virtual environment under `ci/<python_tag>/` by default,
127
+ where `<python_tag>` is computed by `build_tag.py`. Use the `PYTHON`
128
+ environment variable to select a different interpreter (default: `python3`).
129
+
130
+ ### Environment Variables
131
+
132
+ Variables consumed by `setup.py` / `pygit2/_build.py`:
133
+
134
+ - `LIBGIT2` — Base path where libgit2 is installed (default: `/usr/local` or
135
+ `%ProgramFiles%\libgit2` on Windows).
136
+ - `LIBGIT2_LIB` — Override the library directory specifically.
137
+
138
+ Variables consumed by `build.sh`:
139
+
140
+ - `LIBGIT2_VERSION` — If set, download and build this libgit2 version.
141
+ - `LIBSSH2_VERSION` — If set, download and build libssh2 with SSH support.
142
+ - `OPENSSL_VERSION` — If set, download and build OpenSSL (mainly used for
143
+ macOS universal builds on CI).
144
+ - `ZLIB_VERSION` — If set, download and build zlib.
145
+ - `BUILD_TYPE` — CMake build type (default: `Debug`).
146
+ - `PYTHON` — Python interpreter to use (default: `python3`).
147
+ - `PREFIX` — Installation prefix (default: `$(pwd)/ci/$PYTHON_TAG`).
148
+ - `CIBUILDWHEEL` — Set to `1` when invoked by cibuildwheel; changes package
149
+ manager and directory layout.
150
+ - `AUDITWHEEL_PLAT` — Linux platform for auditwheel repair.
151
+ - `LIBSSH2_OPENSSL` — Where to find OpenSSL when building libssh2.
152
+
153
+ ### Documentation Build
154
+
155
+ ```bash
156
+ # Build the extension first, then docs
157
+ make # builds deps + extension
158
+ make -C docs html # requires sphinx-rtd-theme
159
+ ```
160
+
161
+ ## Code Style Guidelines
162
+
163
+ ### Python
164
+
165
+ - **Formatter / Linter**: [ruff](https://docs.astral.sh/ruff/)
166
+ - Target Python: 3.11+
167
+ - Quote style: single quotes
168
+ - Selected rules: `E4`, `E7`, `E9`, `F`, `I`, `UP035`, `UP007`
169
+ - Run `ruff format` and `ruff check` on changed files before committing.
170
+ CI runs `ruff format --diff` and `ruff check`; formatting failures will
171
+ fail the build.
172
+ - **Type checker**: mypy (strict settings enabled; see `mypy.ini`). Test
173
+ modules additionally require typed defs and calls (`disallow_untyped_defs`,
174
+ `disallow_untyped_calls` under `[mypy-test.*]`).
175
+ - All Python source files must include the standard GPLv2 copyright header.
176
+ - `pygit2/__init__.py` is large because it re-exports a large surface of
177
+ constants and classes; follow existing patterns when adding new public
178
+ symbols.
179
+
180
+ ### C
181
+
182
+ - Standard: C11
183
+ - All C source files must include the standard GPLv2 copyright header.
184
+ - The `.vimrc` at repo root configures ALE with `-std=c11 -Wall` and includes
185
+ the Python headers and `/usr/local/include`.
186
+
187
+ ### Docstrings
188
+
189
+ Use the following style (from `docs/development.rst`):
190
+
191
+ ```python
192
+ def f(a, b):
193
+ """
194
+ The general description goes here.
195
+
196
+ Returns: bla bla.
197
+
198
+ Parameters:
199
+
200
+ a : <type>
201
+ Bla bla.
202
+
203
+ b : <type>
204
+ Bla bla.
205
+
206
+ Examples::
207
+
208
+ >>> f(...)
209
+ """
210
+ ```
211
+
212
+ ## Testing Instructions
213
+
214
+ - **Runner**: pytest
215
+ - **Configuration**: `pytest.ini`
216
+ ```ini
217
+ [pytest]
218
+ addopts = --capture=no -ra --verbose
219
+ testpaths = test/
220
+ ```
221
+ - **Fixtures**: Defined in `test/conftest.py`. They yield `pygit2.Repository`
222
+ instances extracted from zipped sample repos in `test/data/` (e.g.
223
+ `testrepo.zip`, `barerepo.zip`). Named fixtures include `testrepo`,
224
+ `testrepo_path`, `barerepo`, `barerepo_path`, `emptyrepo`, `dirtyrepo`,
225
+ `mergerepo`, `encodingrepo`, `testrepopacked`, `gpgsigned`, `blameflagsrepo`,
226
+ and `pygit2_empty_key`.
227
+ - **Test utilities**: `test/utils.py` provides helpers such as
228
+ `TemporaryRepository`, `gen_blob_sha1`, `rmtree`, `diff_safeiter`, and
229
+ markers like `requires_network`, `requires_proxy`, `requires_ssh`,
230
+ `requires_refcount`, `fails_in_macos`, and `requires_future_libgit2`.
231
+ - **Isolation**: The session-scoped `global_git_config` fixture clears
232
+ `GLOBAL`, `XDG`, and `SYSTEM` config search paths to ensure reproducibility.
233
+ - **Coverage**: `pytest-cov` is used; run via `sh build.sh test`.
234
+
235
+ ## CI / Deployment
236
+
237
+ GitHub Actions workflows live in `.github/workflows/`:
238
+
239
+ - **`tests.yml`** — Runs on s390x via QEMU (`uraimo/run-on-arch-action`).
240
+ Allowed to fail (`continue-on-error`); see issue #812.
241
+ - **`lint.yml`** — Runs `ruff format --diff`, `ruff check`, and
242
+ `sh build.sh mypy`.
243
+ - **`wheels.yml`** — Uses `cibuildwheel` (`~=3.3`) to build wheels for Linux
244
+ (amd64, arm64, ppc64le and riscv64 via QEMU, musl), macOS (intel, arm64,
245
+ PyPy), and Windows (x64, x86, arm64). It also builds an sdist, runs a
246
+ `twine check` (skipped on version tags), publishes to PyPI, and creates a
247
+ GitHub Release on version tags (`v*`), with release notes parsed from
248
+ `CHANGELOG.md` by `.github/workflows/parse_release_notes.py`.
249
+ - **`codespell.yml`** — Spell checking with the codespell action.
250
+
251
+ The `cibuildwheel` configuration in `pyproject.toml` pins:
252
+
253
+ - `LIBGIT2_VERSION="1.9.6"`
254
+ - `LIBSSH2_VERSION="1.11.1"`
255
+ - `OPENSSL_VERSION="3.5.7"`
256
+
257
+ and skips `*musllinux_ppc64le` plus testing on `*-*linux_ppc64le`,
258
+ `*-*linux_riscv64` and `pp*-macosx_arm64`. On Windows it uses the
259
+ `Visual Studio 18 2026` CMake generator for x64/x86 and
260
+ `Visual Studio 17 2022` for ARM64.
261
+
262
+ ## Security Considerations
263
+
264
+ - The project links against OpenSSL and libssh2. CI pins specific versions of
265
+ these libraries when building wheels.
266
+ - Wheel repair commands (`auditwheel`, `delocate-wheel`) bundle shared
267
+ libraries so wheels are self-contained.
268
+ - Credentials callbacks (`RemoteCallbacks`, `get_credentials`) are the primary
269
+ interface for supplying secrets; never hardcode credentials in tests.
270
+ - Valgrind support: see `docs/development.rst` and
271
+ `misc/valgrind-python.supp` for memory-leak debugging instructions.
272
+
273
+ ## Git Commits
274
+
275
+ - Commits created by an AI agent must end with the `Assisted-by:` trailer.
276
+ Human-authored commits do not need it.
277
+
278
+ ## Useful Notes for Agents
279
+
280
+ - **Do not assume libgit2 is installed globally.** Check for `LIBGIT2` or use
281
+ `build.sh` / `make`.
282
+ - **`pygit2/_build.py`** is imported by `setup.py`; it must remain importable
283
+ without the rest of the package being built.
284
+ - **CFFI and setuptools extensions are both built from `setup.py`.**
285
+ `ext_modules` builds the C extension from `src/*.c`; `cffi_modules` triggers
286
+ the CFFI build via `pygit2/_run.py:ffi`.
287
+ - **`.pyi` stub file**: `pygit2/_pygit2.pyi` provides type stubs for the C
288
+ extension. Keep it in sync when adding or changing low-level APIs.
289
+ - **Header stub order matters**: `pygit2/_run.py` concatenates `decl/*.h` in a
290
+ fixed list; add new stubs in the correct position if dependencies require it.
291
+ - Run the full test suite, type checks, and linting/formatting before
292
+ considering a change complete:
293
+ `sh build.sh test`, `sh build.sh mypy`, `ruff check .`, and `ruff format .`.
@@ -21,6 +21,7 @@ Authors:
21
21
  Nick Hynes
22
22
  Richard Möhn
23
23
  Xu Tao
24
+ Łukasz Langa
24
25
  Konstantin Baikov
25
26
  Matthew Duggan
26
27
  Matthew Gamble
@@ -30,7 +31,6 @@ Authors:
30
31
  Sriram Raghu
31
32
  Victor Garcia
32
33
  Yonggang Luo
33
- Łukasz Langa
34
34
  Patrick Steinhardt
35
35
  Petr Hosek
36
36
  Tamir Bahar
@@ -44,6 +44,7 @@ Authors:
44
44
  Nabijacz Leweli
45
45
  Simon Cozens
46
46
  Vlad Temian
47
+ WANG Xuerui
47
48
  Brodie Rao
48
49
  Chad Dombrova
49
50
  Lukas Fleischer
@@ -65,7 +66,6 @@ Authors:
65
66
  Santiago Perez De Rosso
66
67
  Sebastian Thiel
67
68
  Thom Wiggers
68
- WANG Xuerui
69
69
  William Manley
70
70
  Alexander Linne
71
71
  Alok Singhal
@@ -74,6 +74,7 @@ Authors:
74
74
  Christian Häggström
75
75
  Edmundo Carmona Antoranz
76
76
  Erik Johnson
77
+ Ethan Meng
77
78
  Filip Rindler
78
79
  Fraser Tweedale
79
80
  Grégoire ROCHER
@@ -126,6 +127,7 @@ Authors:
126
127
  Masud Rahman
127
128
  Michael Sondergaard
128
129
  Natanael Arndt
130
+ Nick Williams
129
131
  Ondřej Nový
130
132
  Sarath Lakshman
131
133
  Steve Kieffer
@@ -206,6 +208,7 @@ Authors:
206
208
  Matěj Cepl
207
209
  Maxwell G
208
210
  Michał Górny
211
+ Mukunda Rao Katta
209
212
  Na'aman Hirschfeld
210
213
  Nicolas Rybowski
211
214
  Nicolás Sanguinetti
@@ -240,6 +243,7 @@ Authors:
240
243
  Victor Florea
241
244
  Vladimir Rutsky
242
245
  Vruyr Gyolchanyan
246
+ William Bowers
243
247
  William Schueller
244
248
  Wim Jeantine-Glenn
245
249
  Yu Jianjian
@@ -1,3 +1,80 @@
1
+ # 1.20.0 (2026-08-08)
2
+
3
+ - New `RemoteCallbacks.custom_headers()`
4
+ [#1465](https://github.com/libgit2/pygit2/pull/1465)
5
+
6
+ - New rebase API: `Repository.rebase_init(...)`, `Repository.rebase_open(...)`,
7
+ `Rebase`, and `RebaseOperation`
8
+ [#1483](https://github.com/libgit2/pygit2/pull/1483)
9
+
10
+ - Fix `Config.snapshot()` for non-repository configs, allow `PathLike` in
11
+ `Config.__init__()`, and improve config documentation
12
+ [#1468](https://github.com/libgit2/pygit2/pull/1468)
13
+
14
+ - Fix `UnicodeDecodeError` with non-UTF-8 file paths in `Repository.status()`,
15
+ `DiffFile.path`, index paths, checkout callbacks, and related APIs
16
+ [#1451](https://github.com/libgit2/pygit2/issues/1451)
17
+ [#1469](https://github.com/libgit2/pygit2/pull/1469)
18
+
19
+ - Fix `enums.CheckoutStrategy.CONFLICT_STYLE_ZDIFF3`, which was mistakenly
20
+ bound to the `DIFF3` constant
21
+ [#1483](https://github.com/libgit2/pygit2/pull/1483)
22
+
23
+ - Fix crashes and reference-lifetime bugs in custom refdb backends
24
+ [#1471](https://github.com/libgit2/pygit2/issues/1471)
25
+ [#1474](https://github.com/libgit2/pygit2/issues/1474)
26
+ [#1475](https://github.com/libgit2/pygit2/issues/1475)
27
+ [#1476](https://github.com/libgit2/pygit2/issues/1476)
28
+
29
+ - Update wheels to libgit2 1.9.6 and OpenSSL 3.5.7
30
+
31
+ - Add riscv64 wheels
32
+ [#1463](https://github.com/libgit2/pygit2/pull/1463)
33
+
34
+ Breaking changes:
35
+
36
+ - Remove deprecated `pygit2.legacyenums` module and `GIT_*` constants,
37
+ use `pygit2.enums` instead
38
+
39
+ - Remove deprecated support for passing `str` to `Repository.merge(...)`,
40
+ pass a `Commit`, `Oid`, or `Reference` object instead
41
+
42
+ - `Repository.merge_file_from_index(...)` now returns `MergeFileResult` by
43
+ default; pass `use_deprecated=True` for the previous string return, now
44
+ deprecated.
45
+
46
+ - Remove deprecated `Remote.ls_remotes(...)`, use `Remote.list_heads(...)`
47
+ instead
48
+
49
+ - Remove `pygit2.to_bytes(...)` and `pygit2.to_str(...)`; they were undocumented
50
+ accidental public APIs
51
+
52
+
53
+ # 1.19.3 (2026-06-13)
54
+
55
+ - Memory fixes
56
+ [#1368](https://github.com/libgit2/pygit2/issues/1368)
57
+ [#1417](https://github.com/libgit2/pygit2/issues/1417)
58
+ [#1443](https://github.com/libgit2/pygit2/issues/1443)
59
+
60
+ - Fix `Repository.ident`
61
+ [#1461](https://github.com/libgit2/pygit2/pull/1461)
62
+
63
+ - Build/CI fixes and updates
64
+ [#1454](https://github.com/libgit2/pygit2/issues/1454)
65
+ [#1459](https://github.com/libgit2/pygit2/pull/1459)
66
+
67
+ - Documentation and annotation fixes
68
+ [#410](https://github.com/libgit2/pygit2/issues/410)
69
+ [#1289](https://github.com/libgit2/pygit2/issues/1289)
70
+ [#1323](https://github.com/libgit2/pygit2/issues/1323)
71
+ [#1333](https://github.com/libgit2/pygit2/issues/1333)
72
+ [#1458](https://github.com/libgit2/pygit2/issues/1458)
73
+ [#1460](https://github.com/libgit2/pygit2/pull/1460)
74
+
75
+ - Add `AGENTS.md` file generated by Kimi-k2.6
76
+
77
+
1
78
  # 1.19.2 (2026-03-29)
2
79
 
3
80
  - Fix refcount and error handling issues in `filter_register(...)`
@@ -0,0 +1,91 @@
1
+ # Contributing to pygit2
2
+
3
+ Thank you for your interest in improving pygit2! This document covers how to submit pull requests and help others in the community.
4
+
5
+ ---
6
+
7
+ ## Pull Requests
8
+
9
+ We welcome pull requests that fix bugs, add features, improve documentation, or clean up code. To ensure a smooth review process, please follow the steps below.
10
+
11
+ ### Development Setup
12
+
13
+ See the [install documentation](https://www.pygit2.org/install.html) for instructions on building pygit2 and its libgit2 dependency.
14
+
15
+ ### Making Changes
16
+
17
+ 1. **Fork the repository** and create a feature branch.
18
+ 2. **Follow the existing code style** (see below).
19
+ 3. **Add or update tests** for any new or changed behavior. Tests live in `test/` and are run with `pytest`.
20
+ 4. **Update type stubs** (`pygit2/_pygit2.pyi`) if you modify the C extension's public API.
21
+ 5. **Update `pygit2/__init__.py`** if you add new public symbols that should be re-exported.
22
+ 6. **Ensure the test suite passes**:
23
+ ```bash
24
+ pytest
25
+ ```
26
+ 7. **Run the linters and type checker**:
27
+ ```bash
28
+ ruff format --diff
29
+ ruff check
30
+ sh build.sh mypy # or: mypy
31
+ sh build.sh stubtest # validate .pyi stubs
32
+ ```
33
+ 8. **Build the documentation** if you changed it (requires `sphinx-rtd-theme`):
34
+ ```bash
35
+ make -C docs html
36
+ ```
37
+ 9. **Write a clear commit message** explaining the *what* and *why*.
38
+
39
+ ### Code Style
40
+
41
+ - **Python:** We target Python 3.11+. Use single quotes. Run `ruff format` and `ruff check` before submitting.
42
+ - **C:** We use C11. Follow `-std=c11 -Wall`. Match the style of the surrounding code in `src/`.
43
+ - **Copyright headers:** All source files must include the standard GPLv2 copyright header. Copy it from an existing file.
44
+ - **Docstrings:** Use the style shown in `docs/development.rst`:
45
+ ```python
46
+ def f(a, b):
47
+ """
48
+ The general description goes here.
49
+
50
+ Returns: bla bla.
51
+
52
+ Parameters:
53
+
54
+ a : <type>
55
+ Bla bla.
56
+
57
+ b : <type>
58
+ Bla bla.
59
+ """
60
+ ```
61
+
62
+ ### Pull Request Review
63
+
64
+ - All PRs require review from a maintainer.
65
+ - CI will run tests, linting, and type checks automatically.
66
+ - Be responsive to feedback and willing to iterate.
67
+ - Keep PRs focused. A pull request that does one thing well is easier to review than a large, mixed one.
68
+
69
+ ---
70
+
71
+ ## Helping Others
72
+
73
+ You do not need to write code to contribute. Helping others is valuable:
74
+
75
+ - **Answer questions** in open issues and pull requests. If you know the answer, share it.
76
+ - **Review PRs.** Even if you are not a maintainer, constructive reviews from the community are welcome.
77
+ - **Improve documentation.** Doc fixes, clarifications, and typo corrections can be submitted as PRs just like code.
78
+ - **Reproduce reported issues.** Confirming a bug on your system helps maintainers prioritize fixes.
79
+
80
+ ---
81
+
82
+ ## Commit Messages
83
+
84
+ - Use the present tense and imperative mood (e.g., "Add support for…", not "Added support for…").
85
+ - Keep the subject line under 72 characters.
86
+ - Reference related issues with `Fixes #123` or `Closes #456` when applicable.
87
+ - If you used AI assistance while preparing the change, mention it in the commit message with a tag such as `Assisted-by: Kimi-k2.6` (or the appropriate model name).
88
+
89
+ ---
90
+
91
+ Thank you for contributing!
@@ -316,9 +316,8 @@ the "copyright" line and a pointer to where the full notice is found.
316
316
  Copyright (C) <year> <name of author>
317
317
 
318
318
  This program is free software; you can redistribute it and/or modify
319
- it under the terms of the GNU General Public License as published by
320
- the Free Software Foundation; either version 2 of the License, or
321
- (at your option) any later version.
319
+ it under the terms of the GNU General Public License, version 2,
320
+ as published by the Free Software Foundation.
322
321
 
323
322
  This program is distributed in the hope that it will be useful,
324
323
  but WITHOUT ANY WARRANTY; without even the implied warranty of
pygit2-1.20.0/Makefile ADDED
@@ -0,0 +1,7 @@
1
+ .PHONY: build html
2
+
3
+ build:
4
+ OPENSSL_VERSION=3.5.7 LIBSSH2_VERSION=1.11.1 LIBGIT2_VERSION=1.9.6 sh build.sh
5
+
6
+ html: build
7
+ make -C docs html
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pygit2
3
- Version: 1.19.2
3
+ Version: 1.20.0
4
4
  Summary: Python bindings for libgit2.
5
5
  Home-page: https://github.com/libgit2/pygit2
6
6
  Maintainer: J. David Ibáñez
@@ -1,3 +1,5 @@
1
+ $ErrorActionPreference = 'Stop'
2
+
1
3
  if (!(Test-Path -Path "build")) {
2
4
  # in case the pygit2 package build/ workspace has not been created by cibuildwheel yet
3
5
  mkdir build
@@ -22,14 +22,14 @@
22
22
  #
23
23
  # sh build.sh
24
24
  #
25
- # Build libgit2 1.9.2 (will use libssh2 if available), then build pygit2
25
+ # Build libgit2 1.9.6 (will use libssh2 if available), then build pygit2
26
26
  # inplace:
27
27
  #
28
- # LIBGIT2_VERSION=1.9.2 sh build.sh
28
+ # LIBGIT2_VERSION=1.9.6 sh build.sh
29
29
  #
30
- # Build libssh2 1.11.1 and libgit2 1.9.2, then build pygit2 inplace:
30
+ # Build libssh2 1.11.1 and libgit2 1.9.6, then build pygit2 inplace:
31
31
  #
32
- # LIBSSH2_VERSION=1.11.1 LIBGIT2_VERSION=1.9.2 sh build.sh
32
+ # LIBSSH2_VERSION=1.11.1 LIBGIT2_VERSION=1.9.6 sh build.sh
33
33
  #
34
34
  # Build inplace and run the tests:
35
35
  #
@@ -217,7 +217,7 @@ if [ "$CIBUILDWHEEL" = "1" ]; then
217
217
  cp $OPENSSL_PREFIX/*.dylib $PREFIX/lib/
218
218
  echo "PREFIX " $PREFIX
219
219
  echo "OPENSSL_PREFIX" $OPENSSL_PREFIX
220
- ls -l /Users/runner/work/pygit2/pygit2/ci/
220
+ ls -l $PREFIX
221
221
  ls -l $PREFIX/lib
222
222
  fi
223
223
  # we're done building dependencies, cibuildwheel action will take over