pygit2 1.18.0__tar.gz → 1.18.2__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 (198) hide show
  1. {pygit2-1.18.0 → pygit2-1.18.2}/AUTHORS.md +8 -1
  2. {pygit2-1.18.0 → pygit2-1.18.2}/CHANGELOG.md +95 -0
  3. pygit2-1.18.2/Makefile +7 -0
  4. {pygit2-1.18.0 → pygit2-1.18.2}/PKG-INFO +1 -1
  5. {pygit2-1.18.0 → pygit2-1.18.2}/build.sh +11 -1
  6. pygit2-1.18.2/mypy.ini +12 -0
  7. pygit2-1.18.2/pygit2/__init__.py +983 -0
  8. {pygit2-1.18.0 → pygit2-1.18.2}/pygit2/_build.py +4 -4
  9. pygit2-1.18.2/pygit2/_libgit2/ffi.pyi +368 -0
  10. {pygit2-1.18.0 → pygit2-1.18.2}/pygit2/_pygit2.pyi +361 -68
  11. {pygit2-1.18.0 → pygit2-1.18.2}/pygit2/_run.py +4 -3
  12. {pygit2-1.18.0 → pygit2-1.18.2}/pygit2/blame.py +32 -19
  13. {pygit2-1.18.0 → pygit2-1.18.2}/pygit2/blob.py +4 -4
  14. {pygit2-1.18.0 → pygit2-1.18.2}/pygit2/branches.py +25 -15
  15. {pygit2-1.18.0 → pygit2-1.18.2}/pygit2/callbacks.py +76 -30
  16. {pygit2-1.18.0 → pygit2-1.18.2}/pygit2/config.py +65 -44
  17. {pygit2-1.18.0 → pygit2-1.18.2}/pygit2/credentials.py +10 -5
  18. {pygit2-1.18.0 → pygit2-1.18.2}/pygit2/decl/callbacks.h +5 -0
  19. {pygit2-1.18.0 → pygit2-1.18.2}/pygit2/decl/index.h +6 -0
  20. pygit2-1.18.2/pygit2/decl/options.h +50 -0
  21. {pygit2-1.18.0 → pygit2-1.18.2}/pygit2/decl/submodule.h +2 -0
  22. {pygit2-1.18.0 → pygit2-1.18.2}/pygit2/enums.py +47 -44
  23. {pygit2-1.18.0 → pygit2-1.18.2}/pygit2/errors.py +4 -3
  24. {pygit2-1.18.0 → pygit2-1.18.2}/pygit2/ffi.py +4 -1
  25. {pygit2-1.18.0 → pygit2-1.18.2}/pygit2/filter.py +4 -4
  26. {pygit2-1.18.0 → pygit2-1.18.2}/pygit2/index.py +116 -31
  27. pygit2-1.18.2/pygit2/options.py +805 -0
  28. {pygit2-1.18.0 → pygit2-1.18.2}/pygit2/packbuilder.py +21 -13
  29. {pygit2-1.18.0 → pygit2-1.18.2}/pygit2/references.py +17 -10
  30. {pygit2-1.18.0 → pygit2-1.18.2}/pygit2/refspec.py +13 -11
  31. {pygit2-1.18.0 → pygit2-1.18.2}/pygit2/remotes.py +174 -71
  32. {pygit2-1.18.0 → pygit2-1.18.2}/pygit2/repository.py +285 -145
  33. pygit2-1.18.2/pygit2/settings.py +348 -0
  34. {pygit2-1.18.0 → pygit2-1.18.2}/pygit2/submodules.py +42 -20
  35. {pygit2-1.18.0 → pygit2-1.18.2}/pygit2/utils.py +67 -19
  36. {pygit2-1.18.0 → pygit2-1.18.2}/pyproject.toml +6 -3
  37. {pygit2-1.18.0 → pygit2-1.18.2}/requirements-test.txt +2 -0
  38. {pygit2-1.18.0 → pygit2-1.18.2}/setup.py +14 -12
  39. {pygit2-1.18.0 → pygit2-1.18.2}/src/blob.c +1 -1
  40. {pygit2-1.18.0 → pygit2-1.18.2}/src/pygit2.c +0 -35
  41. {pygit2-1.18.0 → pygit2-1.18.2}/test/conftest.py +21 -15
  42. {pygit2-1.18.0 → pygit2-1.18.2}/test/test_apply_diff.py +37 -20
  43. {pygit2-1.18.0 → pygit2-1.18.2}/test/test_archive.py +7 -6
  44. {pygit2-1.18.0 → pygit2-1.18.2}/test/test_attributes.py +4 -2
  45. {pygit2-1.18.0 → pygit2-1.18.2}/test/test_blame.py +13 -16
  46. {pygit2-1.18.0 → pygit2-1.18.2}/test/test_blob.py +39 -25
  47. {pygit2-1.18.0 → pygit2-1.18.2}/test/test_branch.py +47 -33
  48. {pygit2-1.18.0 → pygit2-1.18.2}/test/test_branch_empty.py +29 -18
  49. {pygit2-1.18.0 → pygit2-1.18.2}/test/test_cherrypick.py +10 -6
  50. {pygit2-1.18.0 → pygit2-1.18.2}/test/test_commit.py +37 -25
  51. {pygit2-1.18.0 → pygit2-1.18.2}/test/test_commit_gpg.py +5 -3
  52. {pygit2-1.18.0 → pygit2-1.18.2}/test/test_commit_trailer.py +9 -3
  53. {pygit2-1.18.0 → pygit2-1.18.2}/test/test_config.py +18 -17
  54. {pygit2-1.18.0 → pygit2-1.18.2}/test/test_credentials.py +42 -21
  55. {pygit2-1.18.0 → pygit2-1.18.2}/test/test_describe.py +14 -13
  56. {pygit2-1.18.0 → pygit2-1.18.2}/test/test_diff.py +29 -28
  57. {pygit2-1.18.0 → pygit2-1.18.2}/test/test_diff_binary.py +6 -2
  58. {pygit2-1.18.0 → pygit2-1.18.2}/test/test_filter.py +33 -16
  59. {pygit2-1.18.0 → pygit2-1.18.2}/test/test_index.py +70 -30
  60. {pygit2-1.18.0 → pygit2-1.18.2}/test/test_mailmap.py +3 -4
  61. {pygit2-1.18.0 → pygit2-1.18.2}/test/test_merge.py +43 -37
  62. {pygit2-1.18.0 → pygit2-1.18.2}/test/test_nonunicode.py +13 -2
  63. {pygit2-1.18.0 → pygit2-1.18.2}/test/test_note.py +14 -9
  64. {pygit2-1.18.0 → pygit2-1.18.2}/test/test_object.py +11 -12
  65. {pygit2-1.18.0 → pygit2-1.18.2}/test/test_odb.py +10 -9
  66. {pygit2-1.18.0 → pygit2-1.18.2}/test/test_odb_backend.py +29 -27
  67. {pygit2-1.18.0 → pygit2-1.18.2}/test/test_oid.py +11 -11
  68. pygit2-1.18.2/test/test_options.py +262 -0
  69. {pygit2-1.18.0 → pygit2-1.18.2}/test/test_packbuilder.py +16 -9
  70. {pygit2-1.18.0 → pygit2-1.18.2}/test/test_patch.py +37 -18
  71. {pygit2-1.18.0 → pygit2-1.18.2}/test/test_patch_encoding.py +9 -5
  72. {pygit2-1.18.0 → pygit2-1.18.2}/test/test_refdb_backend.py +45 -31
  73. {pygit2-1.18.0 → pygit2-1.18.2}/test/test_refs.py +103 -72
  74. {pygit2-1.18.0 → pygit2-1.18.2}/test/test_remote.py +146 -41
  75. {pygit2-1.18.0 → pygit2-1.18.2}/test/test_remote_prune.py +12 -6
  76. {pygit2-1.18.0 → pygit2-1.18.2}/test/test_remote_utf8.py +8 -3
  77. {pygit2-1.18.0 → pygit2-1.18.2}/test/test_repository.py +299 -91
  78. {pygit2-1.18.0 → pygit2-1.18.2}/test/test_repository_bare.py +39 -31
  79. {pygit2-1.18.0 → pygit2-1.18.2}/test/test_repository_custom.py +6 -3
  80. {pygit2-1.18.0 → pygit2-1.18.2}/test/test_repository_empty.py +5 -3
  81. {pygit2-1.18.0 → pygit2-1.18.2}/test/test_revparse.py +10 -9
  82. {pygit2-1.18.0 → pygit2-1.18.2}/test/test_revwalk.py +11 -11
  83. pygit2-1.18.2/test/test_settings.py +284 -0
  84. {pygit2-1.18.0 → pygit2-1.18.2}/test/test_signature.py +8 -7
  85. {pygit2-1.18.0 → pygit2-1.18.2}/test/test_status.py +9 -4
  86. {pygit2-1.18.0 → pygit2-1.18.2}/test/test_submodule.py +42 -28
  87. {pygit2-1.18.0 → pygit2-1.18.2}/test/test_tag.py +11 -8
  88. {pygit2-1.18.0 → pygit2-1.18.2}/test/test_tree.py +37 -25
  89. {pygit2-1.18.0 → pygit2-1.18.2}/test/test_treebuilder.py +9 -4
  90. {pygit2-1.18.0 → pygit2-1.18.2}/test/utils.py +32 -11
  91. pygit2-1.18.0/Makefile +0 -7
  92. pygit2-1.18.0/pygit2/__init__.py +0 -244
  93. pygit2-1.18.0/pygit2/settings.py +0 -193
  94. pygit2-1.18.0/src/options.c +0 -309
  95. pygit2-1.18.0/src/options.h +0 -72
  96. pygit2-1.18.0/test/test_options.py +0 -132
  97. {pygit2-1.18.0 → pygit2-1.18.2}/COPYING +0 -0
  98. {pygit2-1.18.0 → pygit2-1.18.2}/README.md +0 -0
  99. {pygit2-1.18.0 → pygit2-1.18.2}/SPONSORS.md +0 -0
  100. {pygit2-1.18.0 → pygit2-1.18.2}/build_tag.py +0 -0
  101. {pygit2-1.18.0 → pygit2-1.18.2}/mypy-stubtest.ini +0 -0
  102. {pygit2-1.18.0 → pygit2-1.18.2}/pygit2/decl/attr.h +0 -0
  103. {pygit2-1.18.0 → pygit2-1.18.2}/pygit2/decl/blame.h +0 -0
  104. {pygit2-1.18.0 → pygit2-1.18.2}/pygit2/decl/buffer.h +0 -0
  105. {pygit2-1.18.0 → pygit2-1.18.2}/pygit2/decl/checkout.h +0 -0
  106. {pygit2-1.18.0 → pygit2-1.18.2}/pygit2/decl/clone.h +0 -0
  107. {pygit2-1.18.0 → pygit2-1.18.2}/pygit2/decl/commit.h +0 -0
  108. {pygit2-1.18.0 → pygit2-1.18.2}/pygit2/decl/common.h +0 -0
  109. {pygit2-1.18.0 → pygit2-1.18.2}/pygit2/decl/config.h +0 -0
  110. {pygit2-1.18.0 → pygit2-1.18.2}/pygit2/decl/describe.h +0 -0
  111. {pygit2-1.18.0 → pygit2-1.18.2}/pygit2/decl/diff.h +0 -0
  112. {pygit2-1.18.0 → pygit2-1.18.2}/pygit2/decl/errors.h +0 -0
  113. {pygit2-1.18.0 → pygit2-1.18.2}/pygit2/decl/graph.h +0 -0
  114. {pygit2-1.18.0 → pygit2-1.18.2}/pygit2/decl/indexer.h +0 -0
  115. {pygit2-1.18.0 → pygit2-1.18.2}/pygit2/decl/merge.h +0 -0
  116. {pygit2-1.18.0 → pygit2-1.18.2}/pygit2/decl/net.h +0 -0
  117. {pygit2-1.18.0 → pygit2-1.18.2}/pygit2/decl/oid.h +0 -0
  118. {pygit2-1.18.0 → pygit2-1.18.2}/pygit2/decl/pack.h +0 -0
  119. {pygit2-1.18.0 → pygit2-1.18.2}/pygit2/decl/proxy.h +0 -0
  120. {pygit2-1.18.0 → pygit2-1.18.2}/pygit2/decl/refspec.h +0 -0
  121. {pygit2-1.18.0 → pygit2-1.18.2}/pygit2/decl/remote.h +0 -0
  122. {pygit2-1.18.0 → pygit2-1.18.2}/pygit2/decl/repository.h +0 -0
  123. {pygit2-1.18.0 → pygit2-1.18.2}/pygit2/decl/revert.h +0 -0
  124. {pygit2-1.18.0 → pygit2-1.18.2}/pygit2/decl/stash.h +0 -0
  125. {pygit2-1.18.0 → pygit2-1.18.2}/pygit2/decl/strarray.h +0 -0
  126. {pygit2-1.18.0 → pygit2-1.18.2}/pygit2/decl/transport.h +0 -0
  127. {pygit2-1.18.0 → pygit2-1.18.2}/pygit2/decl/types.h +0 -0
  128. {pygit2-1.18.0 → pygit2-1.18.2}/pygit2/legacyenums.py +0 -0
  129. {pygit2-1.18.0 → pygit2-1.18.2}/pygit2/py.typed +0 -0
  130. {pygit2-1.18.0 → pygit2-1.18.2}/pytest.ini +0 -0
  131. {pygit2-1.18.0 → pygit2-1.18.2}/requirements.txt +0 -0
  132. {pygit2-1.18.0 → pygit2-1.18.2}/setup.cfg +0 -0
  133. {pygit2-1.18.0 → pygit2-1.18.2}/src/branch.c +0 -0
  134. {pygit2-1.18.0 → pygit2-1.18.2}/src/branch.h +0 -0
  135. {pygit2-1.18.0 → pygit2-1.18.2}/src/commit.c +0 -0
  136. {pygit2-1.18.0 → pygit2-1.18.2}/src/diff.c +0 -0
  137. {pygit2-1.18.0 → pygit2-1.18.2}/src/diff.h +0 -0
  138. {pygit2-1.18.0 → pygit2-1.18.2}/src/error.c +0 -0
  139. {pygit2-1.18.0 → pygit2-1.18.2}/src/error.h +0 -0
  140. {pygit2-1.18.0 → pygit2-1.18.2}/src/filter.c +0 -0
  141. {pygit2-1.18.0 → pygit2-1.18.2}/src/filter.h +0 -0
  142. {pygit2-1.18.0 → pygit2-1.18.2}/src/mailmap.c +0 -0
  143. {pygit2-1.18.0 → pygit2-1.18.2}/src/mailmap.h +0 -0
  144. {pygit2-1.18.0 → pygit2-1.18.2}/src/note.c +0 -0
  145. {pygit2-1.18.0 → pygit2-1.18.2}/src/note.h +0 -0
  146. {pygit2-1.18.0 → pygit2-1.18.2}/src/object.c +0 -0
  147. {pygit2-1.18.0 → pygit2-1.18.2}/src/object.h +0 -0
  148. {pygit2-1.18.0 → pygit2-1.18.2}/src/odb.c +0 -0
  149. {pygit2-1.18.0 → pygit2-1.18.2}/src/odb.h +0 -0
  150. {pygit2-1.18.0 → pygit2-1.18.2}/src/odb_backend.c +0 -0
  151. {pygit2-1.18.0 → pygit2-1.18.2}/src/odb_backend.h +0 -0
  152. {pygit2-1.18.0 → pygit2-1.18.2}/src/oid.c +0 -0
  153. {pygit2-1.18.0 → pygit2-1.18.2}/src/oid.h +0 -0
  154. {pygit2-1.18.0 → pygit2-1.18.2}/src/patch.c +0 -0
  155. {pygit2-1.18.0 → pygit2-1.18.2}/src/patch.h +0 -0
  156. {pygit2-1.18.0 → pygit2-1.18.2}/src/refdb.c +0 -0
  157. {pygit2-1.18.0 → pygit2-1.18.2}/src/refdb.h +0 -0
  158. {pygit2-1.18.0 → pygit2-1.18.2}/src/refdb_backend.c +0 -0
  159. {pygit2-1.18.0 → pygit2-1.18.2}/src/refdb_backend.h +0 -0
  160. {pygit2-1.18.0 → pygit2-1.18.2}/src/reference.c +0 -0
  161. {pygit2-1.18.0 → pygit2-1.18.2}/src/reference.h +0 -0
  162. {pygit2-1.18.0 → pygit2-1.18.2}/src/repository.c +0 -0
  163. {pygit2-1.18.0 → pygit2-1.18.2}/src/repository.h +0 -0
  164. {pygit2-1.18.0 → pygit2-1.18.2}/src/revspec.c +0 -0
  165. {pygit2-1.18.0 → pygit2-1.18.2}/src/revspec.h +0 -0
  166. {pygit2-1.18.0 → pygit2-1.18.2}/src/signature.c +0 -0
  167. {pygit2-1.18.0 → pygit2-1.18.2}/src/signature.h +0 -0
  168. {pygit2-1.18.0 → pygit2-1.18.2}/src/stash.c +0 -0
  169. {pygit2-1.18.0 → pygit2-1.18.2}/src/tag.c +0 -0
  170. {pygit2-1.18.0 → pygit2-1.18.2}/src/tree.c +0 -0
  171. {pygit2-1.18.0 → pygit2-1.18.2}/src/tree.h +0 -0
  172. {pygit2-1.18.0 → pygit2-1.18.2}/src/treebuilder.c +0 -0
  173. {pygit2-1.18.0 → pygit2-1.18.2}/src/treebuilder.h +0 -0
  174. {pygit2-1.18.0 → pygit2-1.18.2}/src/types.h +0 -0
  175. {pygit2-1.18.0 → pygit2-1.18.2}/src/utils.c +0 -0
  176. {pygit2-1.18.0 → pygit2-1.18.2}/src/utils.h +0 -0
  177. {pygit2-1.18.0 → pygit2-1.18.2}/src/walker.c +0 -0
  178. {pygit2-1.18.0 → pygit2-1.18.2}/src/walker.h +0 -0
  179. {pygit2-1.18.0 → pygit2-1.18.2}/src/wildmatch.c +0 -0
  180. {pygit2-1.18.0 → pygit2-1.18.2}/src/wildmatch.h +0 -0
  181. {pygit2-1.18.0 → pygit2-1.18.2}/src/worktree.c +0 -0
  182. {pygit2-1.18.0 → pygit2-1.18.2}/src/worktree.h +0 -0
  183. {pygit2-1.18.0 → pygit2-1.18.2}/test/__init__.py +0 -0
  184. {pygit2-1.18.0 → pygit2-1.18.2}/test/data/barerepo.zip +0 -0
  185. {pygit2-1.18.0 → pygit2-1.18.2}/test/data/binaryfilerepo.zip +0 -0
  186. {pygit2-1.18.0 → pygit2-1.18.2}/test/data/blameflagsrepo.zip +0 -0
  187. {pygit2-1.18.0 → pygit2-1.18.2}/test/data/dirtyrepo.zip +0 -0
  188. {pygit2-1.18.0 → pygit2-1.18.2}/test/data/emptyrepo.zip +0 -0
  189. {pygit2-1.18.0 → pygit2-1.18.2}/test/data/encoding.zip +0 -0
  190. {pygit2-1.18.0 → pygit2-1.18.2}/test/data/gpgsigned.zip +0 -0
  191. {pygit2-1.18.0 → pygit2-1.18.2}/test/data/submodulerepo.zip +0 -0
  192. {pygit2-1.18.0 → pygit2-1.18.2}/test/data/testrepo.zip +0 -0
  193. {pygit2-1.18.0 → pygit2-1.18.2}/test/data/testrepoformerging.zip +0 -0
  194. {pygit2-1.18.0 → pygit2-1.18.2}/test/data/testrepopacked.zip +0 -0
  195. {pygit2-1.18.0 → pygit2-1.18.2}/test/data/trailerrepo.zip +0 -0
  196. {pygit2-1.18.0 → pygit2-1.18.2}/test/data/utf8branchrepo.zip +0 -0
  197. {pygit2-1.18.0 → pygit2-1.18.2}/test/keys/pygit2_empty +0 -0
  198. {pygit2-1.18.0 → pygit2-1.18.2}/test/keys/pygit2_empty.pub +0 -0
@@ -4,6 +4,7 @@ Authors:
4
4
  Carlos Martín Nieto
5
5
  Nico von Geyso
6
6
  Iliyas Jorio
7
+ Benedikt Seidl
7
8
  Sviatoslav Sydorenko
8
9
  Matthias Bartelmeß
9
10
  Robert Coup
@@ -19,6 +20,7 @@ Authors:
19
20
  Nick Hynes
20
21
  Richard Möhn
21
22
  Xu Tao
23
+ Konstantin Baikov
22
24
  Matthew Duggan
23
25
  Matthew Gamble
24
26
  Jeremy Westwood
@@ -27,6 +29,7 @@ Authors:
27
29
  Sriram Raghu
28
30
  Victor Garcia
29
31
  Yonggang Luo
32
+ Łukasz Langa
30
33
  Patrick Steinhardt
31
34
  Petr Hosek
32
35
  Tamir Bahar
@@ -34,6 +37,7 @@ Authors:
34
37
  Xavier Delannoy
35
38
  Michael Jones
36
39
  Saugat Pachhai
40
+ Andrej730
37
41
  Bernardo Heynemann
38
42
  John Szakmeister
39
43
  Nabijacz Leweli
@@ -66,6 +70,7 @@ Authors:
66
70
  Assaf Nativ
67
71
  Bob Carroll
68
72
  Christian Häggström
73
+ Edmundo Carmona Antoranz
69
74
  Erik Johnson
70
75
  Filip Rindler
71
76
  Fraser Tweedale
@@ -133,6 +138,7 @@ Authors:
133
138
  Albin Söderström
134
139
  Alexandru Fikl
135
140
  Andrew Chin
141
+ Andrew McNulty
136
142
  Andrey Trubachev
137
143
  András Veres-Szentkirályi
138
144
  Ash Berlin
@@ -163,7 +169,6 @@ Authors:
163
169
  David Six
164
170
  Dennis Schwertel
165
171
  Devaev Maxim
166
- Edmundo Carmona Antoranz
167
172
  Eric Davis
168
173
  Erik Meusel
169
174
  Erik van Zijst
@@ -199,6 +204,7 @@ Authors:
199
204
  Maxwell G
200
205
  Michał Górny
201
206
  Na'aman Hirschfeld
207
+ Nicolas Rybowski
202
208
  Nicolás Sanguinetti
203
209
  Nikita Kartashov
204
210
  Nikolai Zujev
@@ -220,6 +226,7 @@ Authors:
220
226
  Rui Chen
221
227
  Sandro Jäckel
222
228
  Saul Pwanson
229
+ Sebastian Hamann
223
230
  Shane Turner
224
231
  Sheeo
225
232
  Simone Mosciatti
@@ -1,3 +1,98 @@
1
+ # 1.18.2 (2025-08-16)
2
+
3
+ - Add support for almost all global options
4
+ [#1409](https://github.com/libgit2/pygit2/pull/1409)
5
+
6
+ - Now it's possible to set `Submodule.url = url`
7
+ [#1395](https://github.com/libgit2/pygit2/pull/1395)
8
+
9
+ - New `RemoteCallbacks.push_negotiation(...)`
10
+ [#1396](https://github.com/libgit2/pygit2/pull/1396)
11
+
12
+ - New optional boolean argument `connect` in `Remote.ls_remotes(...)`
13
+ [#1396](https://github.com/libgit2/pygit2/pull/1396)
14
+
15
+ - New `Remote.list_heads(...)` returns a list of `RemoteHead` objects
16
+ [#1397](https://github.com/libgit2/pygit2/pull/1397)
17
+ [#1410](https://github.com/libgit2/pygit2/pull/1410)
18
+
19
+ - Documentation fixes
20
+ [#1388](https://github.com/libgit2/pygit2/pull/1388)
21
+
22
+ - Typing improvements
23
+ [#1387](https://github.com/libgit2/pygit2/pull/1387)
24
+ [#1389](https://github.com/libgit2/pygit2/pull/1389)
25
+ [#1390](https://github.com/libgit2/pygit2/pull/1390)
26
+ [#1391](https://github.com/libgit2/pygit2/pull/1391)
27
+ [#1392](https://github.com/libgit2/pygit2/pull/1392)
28
+ [#1393](https://github.com/libgit2/pygit2/pull/1393)
29
+ [#1394](https://github.com/libgit2/pygit2/pull/1394)
30
+ [#1398](https://github.com/libgit2/pygit2/pull/1398)
31
+ [#1399](https://github.com/libgit2/pygit2/pull/1399)
32
+ [#1400](https://github.com/libgit2/pygit2/pull/1400)
33
+ [#1402](https://github.com/libgit2/pygit2/pull/1402)
34
+ [#1403](https://github.com/libgit2/pygit2/pull/1403)
35
+ [#1406](https://github.com/libgit2/pygit2/pull/1406)
36
+ [#1407](https://github.com/libgit2/pygit2/pull/1407)
37
+ [#1408](https://github.com/libgit2/pygit2/pull/1408)
38
+
39
+ Deprecations:
40
+
41
+ - `Remote.ls_remotes(...)` is deprecated, use `Remote.list_heads(...)`:
42
+
43
+ # Before
44
+ for head in remote.ls_remotes():
45
+ head['name']
46
+ head['oid']
47
+ head['loid'] # None when local is False
48
+ head['local']
49
+ head['symref_target']
50
+
51
+ # Now
52
+ for head in remote.list_heads():
53
+ head.name
54
+ head.oid
55
+ head.loid # The zero oid when local is False
56
+ head.local
57
+ head.symref_target
58
+
59
+
60
+ # 1.18.1 (2025-07-26)
61
+
62
+ - Update wheels to libgit2 1.9.1 and OpenSSL 3.3
63
+
64
+ - New `Index.remove_directory(...)`
65
+ [#1377](https://github.com/libgit2/pygit2/pull/1377)
66
+
67
+ - New `Index.add_conflict(...)`
68
+ [#1382](https://github.com/libgit2/pygit2/pull/1382)
69
+
70
+ - Now `Repository.merge_file_from_index(...)` returns a `MergeFileResult` object when
71
+ called with `use_deprecated=False`
72
+ [#1376](https://github.com/libgit2/pygit2/pull/1376)
73
+
74
+ - Typing improvements
75
+ [#1369](https://github.com/libgit2/pygit2/pull/1369)
76
+ [#1370](https://github.com/libgit2/pygit2/pull/1370)
77
+ [#1371](https://github.com/libgit2/pygit2/pull/1371)
78
+ [#1373](https://github.com/libgit2/pygit2/pull/1373)
79
+ [#1384](https://github.com/libgit2/pygit2/pull/1384)
80
+ [#1386](https://github.com/libgit2/pygit2/pull/1386)
81
+
82
+ Deprecations:
83
+
84
+ - Update your code:
85
+
86
+ # Before
87
+ contents = Repository.merge_file_from_index(...)
88
+
89
+ # Now
90
+ result = Repository.merge_file_from_index(..., use_deprecated=False)
91
+ contents = result.contents
92
+
93
+ At some point in the future `use_deprecated=False` will be the default.
94
+
95
+
1
96
  # 1.18.0 (2025-04-24)
2
97
 
3
98
  - Upgrade Linux Glibc wheels to `manylinux_2_28`
pygit2-1.18.2/Makefile ADDED
@@ -0,0 +1,7 @@
1
+ .PHONY: build html
2
+
3
+ build:
4
+ OPENSSL_VERSION=3.3.3 LIBSSH2_VERSION=1.11.1 LIBGIT2_VERSION=1.9.1 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.18.0
3
+ Version: 1.18.2
4
4
  Summary: Python bindings for libgit2.
5
5
  Home-page: https://github.com/libgit2/pygit2
6
6
  Maintainer: J. David Ibáñez
@@ -178,7 +178,7 @@ if [ -n "$LIBGIT2_VERSION" ]; then
178
178
  wget https://github.com/libgit2/libgit2/archive/refs/tags/v$LIBGIT2_VERSION.tar.gz -N -O $FILENAME.tar.gz
179
179
  tar xf $FILENAME.tar.gz
180
180
  cd $FILENAME
181
- mkdir build -p
181
+ mkdir -p build
182
182
  cd build
183
183
  if [ "$KERNEL" = "Darwin" ] && [ "$CIBUILDWHEEL" = "1" ]; then
184
184
  CMAKE_PREFIX_PATH=$OPENSSL_PREFIX:$PREFIX cmake .. \
@@ -262,6 +262,16 @@ if [ "$1" = "test" ]; then
262
262
  $PREFIX/bin/pytest --cov=pygit2
263
263
  fi
264
264
 
265
+ # Type checking
266
+ if [ "$1" = "mypy" ]; then
267
+ shift
268
+ if [ -n "$WHEELDIR" ]; then
269
+ $PREFIX/bin/pip install $WHEELDIR/pygit2*-$PYTHON_TAG-*.whl
270
+ fi
271
+ $PREFIX/bin/pip install -r requirements-test.txt
272
+ $PREFIX/bin/mypy pygit2 test
273
+ fi
274
+
265
275
  # Test .pyi stub file
266
276
  if [ "$1" = "stubtest" ]; then
267
277
  shift
pygit2-1.18.2/mypy.ini ADDED
@@ -0,0 +1,12 @@
1
+ [mypy]
2
+
3
+ warn_unused_configs = True
4
+ warn_redundant_casts = True
5
+ warn_unused_ignores = True
6
+ no_implicit_reexport = True
7
+ disallow_subclassing_any = True
8
+ disallow_untyped_decorators = True
9
+
10
+ [mypy-test.*]
11
+ disallow_untyped_defs = True
12
+ disallow_untyped_calls = True