pygit2 1.18.1__tar.gz → 1.19.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.
- {pygit2-1.18.1 → pygit2-1.19.0}/AUTHORS.md +8 -4
- {pygit2-1.18.1 → pygit2-1.19.0}/CHANGELOG.md +127 -25
- {pygit2-1.18.1 → pygit2-1.19.0}/PKG-INFO +17 -13
- {pygit2-1.18.1 → pygit2-1.19.0}/README.md +13 -9
- pygit2-1.19.0/build.ps1 +21 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/build.sh +3 -3
- pygit2-1.19.0/mypy.ini +12 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/pygit2/__init__.py +338 -16
- {pygit2-1.18.1 → pygit2-1.19.0}/pygit2/_build.py +4 -4
- pygit2-1.19.0/pygit2/_libgit2/ffi.pyi +373 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/pygit2/_pygit2.pyi +84 -149
- {pygit2-1.18.1 → pygit2-1.19.0}/pygit2/_run.py +4 -2
- {pygit2-1.18.1 → pygit2-1.19.0}/pygit2/blame.py +32 -19
- {pygit2-1.18.1 → pygit2-1.19.0}/pygit2/blob.py +2 -2
- {pygit2-1.18.1 → pygit2-1.19.0}/pygit2/branches.py +25 -15
- {pygit2-1.18.1 → pygit2-1.19.0}/pygit2/callbacks.py +47 -18
- {pygit2-1.18.1 → pygit2-1.19.0}/pygit2/config.py +64 -43
- {pygit2-1.18.1 → pygit2-1.19.0}/pygit2/credentials.py +0 -1
- {pygit2-1.18.1 → pygit2-1.19.0}/pygit2/decl/callbacks.h +5 -0
- pygit2-1.19.0/pygit2/decl/options.h +50 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/pygit2/decl/submodule.h +2 -0
- pygit2-1.19.0/pygit2/decl/transaction.h +8 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/pygit2/decl/types.h +2 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/pygit2/enums.py +47 -44
- {pygit2-1.18.1 → pygit2-1.19.0}/pygit2/errors.py +4 -3
- {pygit2-1.18.1 → pygit2-1.19.0}/pygit2/ffi.py +4 -1
- {pygit2-1.18.1 → pygit2-1.19.0}/pygit2/filter.py +4 -4
- {pygit2-1.18.1 → pygit2-1.19.0}/pygit2/index.py +39 -34
- pygit2-1.19.0/pygit2/options.py +805 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/pygit2/packbuilder.py +21 -13
- {pygit2-1.18.1 → pygit2-1.19.0}/pygit2/references.py +17 -10
- {pygit2-1.18.1 → pygit2-1.19.0}/pygit2/refspec.py +13 -11
- {pygit2-1.18.1 → pygit2-1.19.0}/pygit2/remotes.py +165 -70
- {pygit2-1.18.1 → pygit2-1.19.0}/pygit2/repository.py +257 -121
- pygit2-1.19.0/pygit2/settings.py +348 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/pygit2/submodules.py +36 -20
- pygit2-1.19.0/pygit2/transaction.py +199 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/pygit2/utils.py +67 -19
- pygit2-1.19.0/pyproject.toml +76 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/requirements-test.txt +1 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/requirements.txt +1 -1
- {pygit2-1.18.1 → pygit2-1.19.0}/setup.py +19 -17
- {pygit2-1.18.1 → pygit2-1.19.0}/src/blob.c +1 -1
- {pygit2-1.18.1 → pygit2-1.19.0}/src/pygit2.c +4 -35
- {pygit2-1.18.1 → pygit2-1.19.0}/src/repository.c +23 -3
- {pygit2-1.18.1 → pygit2-1.19.0}/test/__init__.py +3 -2
- {pygit2-1.18.1 → pygit2-1.19.0}/test/conftest.py +19 -18
- {pygit2-1.18.1 → pygit2-1.19.0}/test/test_apply_diff.py +37 -20
- {pygit2-1.18.1 → pygit2-1.19.0}/test/test_archive.py +7 -6
- {pygit2-1.18.1 → pygit2-1.19.0}/test/test_attributes.py +4 -2
- {pygit2-1.18.1 → pygit2-1.19.0}/test/test_blame.py +13 -16
- {pygit2-1.18.1 → pygit2-1.19.0}/test/test_blob.py +39 -25
- {pygit2-1.18.1 → pygit2-1.19.0}/test/test_branch.py +34 -21
- {pygit2-1.18.1 → pygit2-1.19.0}/test/test_branch_empty.py +29 -18
- {pygit2-1.18.1 → pygit2-1.19.0}/test/test_cherrypick.py +10 -6
- {pygit2-1.18.1 → pygit2-1.19.0}/test/test_commit.py +37 -25
- {pygit2-1.18.1 → pygit2-1.19.0}/test/test_commit_gpg.py +5 -3
- {pygit2-1.18.1 → pygit2-1.19.0}/test/test_commit_trailer.py +9 -3
- {pygit2-1.18.1 → pygit2-1.19.0}/test/test_config.py +18 -17
- {pygit2-1.18.1 → pygit2-1.19.0}/test/test_credentials.py +42 -21
- {pygit2-1.18.1 → pygit2-1.19.0}/test/test_describe.py +14 -13
- {pygit2-1.18.1 → pygit2-1.19.0}/test/test_diff.py +29 -28
- {pygit2-1.18.1 → pygit2-1.19.0}/test/test_diff_binary.py +6 -2
- {pygit2-1.18.1 → pygit2-1.19.0}/test/test_filter.py +33 -16
- {pygit2-1.18.1 → pygit2-1.19.0}/test/test_index.py +36 -33
- {pygit2-1.18.1 → pygit2-1.19.0}/test/test_mailmap.py +3 -4
- {pygit2-1.18.1 → pygit2-1.19.0}/test/test_merge.py +43 -37
- {pygit2-1.18.1 → pygit2-1.19.0}/test/test_nonunicode.py +3 -2
- {pygit2-1.18.1 → pygit2-1.19.0}/test/test_note.py +14 -9
- {pygit2-1.18.1 → pygit2-1.19.0}/test/test_object.py +11 -12
- {pygit2-1.18.1 → pygit2-1.19.0}/test/test_odb.py +10 -9
- {pygit2-1.18.1 → pygit2-1.19.0}/test/test_odb_backend.py +29 -27
- {pygit2-1.18.1 → pygit2-1.19.0}/test/test_oid.py +11 -11
- pygit2-1.19.0/test/test_options.py +262 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/test/test_packbuilder.py +16 -9
- {pygit2-1.18.1 → pygit2-1.19.0}/test/test_patch.py +37 -18
- {pygit2-1.18.1 → pygit2-1.19.0}/test/test_patch_encoding.py +9 -5
- {pygit2-1.18.1 → pygit2-1.19.0}/test/test_refdb_backend.py +45 -31
- {pygit2-1.18.1 → pygit2-1.19.0}/test/test_refs.py +85 -51
- {pygit2-1.18.1 → pygit2-1.19.0}/test/test_remote.py +99 -14
- {pygit2-1.18.1 → pygit2-1.19.0}/test/test_remote_prune.py +12 -6
- {pygit2-1.18.1 → pygit2-1.19.0}/test/test_remote_utf8.py +8 -3
- {pygit2-1.18.1 → pygit2-1.19.0}/test/test_repository.py +179 -114
- {pygit2-1.18.1 → pygit2-1.19.0}/test/test_repository_bare.py +39 -31
- {pygit2-1.18.1 → pygit2-1.19.0}/test/test_repository_custom.py +6 -3
- {pygit2-1.18.1 → pygit2-1.19.0}/test/test_repository_empty.py +5 -3
- {pygit2-1.18.1 → pygit2-1.19.0}/test/test_revparse.py +10 -9
- {pygit2-1.18.1 → pygit2-1.19.0}/test/test_revwalk.py +11 -11
- pygit2-1.19.0/test/test_settings.py +284 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/test/test_signature.py +8 -7
- {pygit2-1.18.1 → pygit2-1.19.0}/test/test_status.py +9 -4
- {pygit2-1.18.1 → pygit2-1.19.0}/test/test_submodule.py +42 -28
- {pygit2-1.18.1 → pygit2-1.19.0}/test/test_tag.py +11 -8
- pygit2-1.19.0/test/test_transaction.py +327 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/test/test_tree.py +37 -25
- {pygit2-1.18.1 → pygit2-1.19.0}/test/test_treebuilder.py +9 -4
- {pygit2-1.18.1 → pygit2-1.19.0}/test/utils.py +30 -9
- pygit2-1.18.1/pygit2/settings.py +0 -193
- pygit2-1.18.1/pyproject.toml +0 -39
- pygit2-1.18.1/src/options.c +0 -309
- pygit2-1.18.1/src/options.h +0 -72
- pygit2-1.18.1/test/test_options.py +0 -132
- {pygit2-1.18.1 → pygit2-1.19.0}/COPYING +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/Makefile +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/SPONSORS.md +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/build_tag.py +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/mypy-stubtest.ini +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/pygit2/decl/attr.h +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/pygit2/decl/blame.h +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/pygit2/decl/buffer.h +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/pygit2/decl/checkout.h +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/pygit2/decl/clone.h +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/pygit2/decl/commit.h +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/pygit2/decl/common.h +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/pygit2/decl/config.h +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/pygit2/decl/describe.h +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/pygit2/decl/diff.h +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/pygit2/decl/errors.h +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/pygit2/decl/graph.h +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/pygit2/decl/index.h +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/pygit2/decl/indexer.h +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/pygit2/decl/merge.h +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/pygit2/decl/net.h +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/pygit2/decl/oid.h +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/pygit2/decl/pack.h +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/pygit2/decl/proxy.h +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/pygit2/decl/refspec.h +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/pygit2/decl/remote.h +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/pygit2/decl/repository.h +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/pygit2/decl/revert.h +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/pygit2/decl/stash.h +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/pygit2/decl/strarray.h +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/pygit2/decl/transport.h +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/pygit2/legacyenums.py +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/pygit2/py.typed +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/pytest.ini +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/setup.cfg +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/src/branch.c +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/src/branch.h +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/src/commit.c +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/src/diff.c +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/src/diff.h +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/src/error.c +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/src/error.h +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/src/filter.c +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/src/filter.h +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/src/mailmap.c +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/src/mailmap.h +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/src/note.c +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/src/note.h +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/src/object.c +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/src/object.h +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/src/odb.c +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/src/odb.h +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/src/odb_backend.c +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/src/odb_backend.h +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/src/oid.c +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/src/oid.h +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/src/patch.c +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/src/patch.h +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/src/refdb.c +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/src/refdb.h +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/src/refdb_backend.c +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/src/refdb_backend.h +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/src/reference.c +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/src/reference.h +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/src/repository.h +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/src/revspec.c +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/src/revspec.h +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/src/signature.c +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/src/signature.h +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/src/stash.c +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/src/tag.c +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/src/tree.c +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/src/tree.h +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/src/treebuilder.c +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/src/treebuilder.h +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/src/types.h +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/src/utils.c +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/src/utils.h +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/src/walker.c +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/src/walker.h +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/src/wildmatch.c +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/src/wildmatch.h +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/src/worktree.c +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/src/worktree.h +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/test/data/barerepo.zip +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/test/data/binaryfilerepo.zip +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/test/data/blameflagsrepo.zip +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/test/data/dirtyrepo.zip +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/test/data/emptyrepo.zip +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/test/data/encoding.zip +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/test/data/gpgsigned.zip +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/test/data/submodulerepo.zip +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/test/data/testrepo.zip +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/test/data/testrepoformerging.zip +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/test/data/testrepopacked.zip +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/test/data/trailerrepo.zip +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/test/data/utf8branchrepo.zip +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/test/keys/pygit2_empty +0 -0
- {pygit2-1.18.1 → pygit2-1.19.0}/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
|
|
@@ -14,12 +15,13 @@ Authors:
|
|
|
14
15
|
Daniel Rodríguez Troitiño
|
|
15
16
|
Peter Rowlands
|
|
16
17
|
Richo Healey
|
|
18
|
+
Brendan Doherty
|
|
17
19
|
Christian Boos
|
|
18
20
|
Julien Miotte
|
|
19
|
-
Benedikt Seidl
|
|
20
21
|
Nick Hynes
|
|
21
22
|
Richard Möhn
|
|
22
23
|
Xu Tao
|
|
24
|
+
Konstantin Baikov
|
|
23
25
|
Matthew Duggan
|
|
24
26
|
Matthew Gamble
|
|
25
27
|
Jeremy Westwood
|
|
@@ -28,6 +30,7 @@ Authors:
|
|
|
28
30
|
Sriram Raghu
|
|
29
31
|
Victor Garcia
|
|
30
32
|
Yonggang Luo
|
|
33
|
+
Łukasz Langa
|
|
31
34
|
Patrick Steinhardt
|
|
32
35
|
Petr Hosek
|
|
33
36
|
Tamir Bahar
|
|
@@ -48,7 +51,7 @@ Authors:
|
|
|
48
51
|
Mathieu Parent
|
|
49
52
|
Michał Kępień
|
|
50
53
|
Nicolas Dandrimont
|
|
51
|
-
Raphael Medaer
|
|
54
|
+
Raphael Medaer
|
|
52
55
|
Yaroslav Halchenko
|
|
53
56
|
Anatoly Techtonik
|
|
54
57
|
Andrew Olsen
|
|
@@ -62,6 +65,7 @@ Authors:
|
|
|
62
65
|
Santiago Perez De Rosso
|
|
63
66
|
Sebastian Thiel
|
|
64
67
|
Thom Wiggers
|
|
68
|
+
WANG Xuerui
|
|
65
69
|
William Manley
|
|
66
70
|
Alexander Linne
|
|
67
71
|
Alok Singhal
|
|
@@ -87,7 +91,6 @@ Authors:
|
|
|
87
91
|
Sukhman Bhuller
|
|
88
92
|
Thomas Kluyver
|
|
89
93
|
Tyler Cipriani
|
|
90
|
-
WANG Xuerui
|
|
91
94
|
Alex Chamberlain
|
|
92
95
|
Alexander Bayandin
|
|
93
96
|
Amit Bakshi
|
|
@@ -96,6 +99,7 @@ Authors:
|
|
|
96
99
|
Ben Davis
|
|
97
100
|
CJ Steiner
|
|
98
101
|
Colin Watson
|
|
102
|
+
Craig de Stigter
|
|
99
103
|
Dan Yeaw
|
|
100
104
|
Dustin Raimondi
|
|
101
105
|
Eric Schrijver
|
|
@@ -154,7 +158,6 @@ Authors:
|
|
|
154
158
|
Chris Rebert
|
|
155
159
|
Christopher Hunt
|
|
156
160
|
Claudio Jolowicz
|
|
157
|
-
Craig de Stigter
|
|
158
161
|
Cristian Hotea
|
|
159
162
|
Cyril Jouve
|
|
160
163
|
Dan Cecile
|
|
@@ -202,6 +205,7 @@ Authors:
|
|
|
202
205
|
Maxwell G
|
|
203
206
|
Michał Górny
|
|
204
207
|
Na'aman Hirschfeld
|
|
208
|
+
Nicolas Rybowski
|
|
205
209
|
Nicolás Sanguinetti
|
|
206
210
|
Nikita Kartashov
|
|
207
211
|
Nikolai Zujev
|
|
@@ -1,3 +1,97 @@
|
|
|
1
|
+
# 1.19.0 (2025-10-23)
|
|
2
|
+
|
|
3
|
+
- Add support for Python 3.14 and drop 3.10
|
|
4
|
+
|
|
5
|
+
- Support threaded builds (experimental)
|
|
6
|
+
[#1430](https://github.com/libgit2/pygit2/pull/1430)
|
|
7
|
+
[#1435](https://github.com/libgit2/pygit2/pull/1435)
|
|
8
|
+
|
|
9
|
+
- Add Linux musl wheels for AArch64
|
|
10
|
+
|
|
11
|
+
- Add Windows wheels for AArch64;
|
|
12
|
+
CI: build Windows wheels with cibuildwheel on GitHub
|
|
13
|
+
[#1423](https://github.com/libgit2/pygit2/pull/1423)
|
|
14
|
+
|
|
15
|
+
- New `Repository.transaction()` context manager, returns new `ReferenceTransaction`
|
|
16
|
+
[#1420](https://github.com/libgit2/pygit2/pull/1420)
|
|
17
|
+
|
|
18
|
+
- CI: add GitHub releases and other improvements
|
|
19
|
+
[#1433](https://github.com/libgit2/pygit2/pull/1433)
|
|
20
|
+
[#1432](https://github.com/libgit2/pygit2/pull/1432)
|
|
21
|
+
[#1425](https://github.com/libgit2/pygit2/pull/1425)
|
|
22
|
+
[#1431](https://github.com/libgit2/pygit2/pull/1431)
|
|
23
|
+
|
|
24
|
+
- Documentation improvements and other changes
|
|
25
|
+
[#1426](https://github.com/libgit2/pygit2/pull/1426)
|
|
26
|
+
[#1424](https://github.com/libgit2/pygit2/pull/1424)
|
|
27
|
+
|
|
28
|
+
Breaking changes:
|
|
29
|
+
|
|
30
|
+
- Remove deprecated `IndexEntry.hex`, use `str(entry.id)` instead of `entry.hex`
|
|
31
|
+
|
|
32
|
+
Deprecations:
|
|
33
|
+
|
|
34
|
+
- Deprecate `IndexEntry.oid`, use `entry.id` instead of `entry.oid`
|
|
35
|
+
|
|
36
|
+
# 1.18.2 (2025-08-16)
|
|
37
|
+
|
|
38
|
+
- Add support for almost all global options
|
|
39
|
+
[#1409](https://github.com/libgit2/pygit2/pull/1409)
|
|
40
|
+
|
|
41
|
+
- Now it's possible to set `Submodule.url = url`
|
|
42
|
+
[#1395](https://github.com/libgit2/pygit2/pull/1395)
|
|
43
|
+
|
|
44
|
+
- New `RemoteCallbacks.push_negotiation(...)`
|
|
45
|
+
[#1396](https://github.com/libgit2/pygit2/pull/1396)
|
|
46
|
+
|
|
47
|
+
- New optional boolean argument `connect` in `Remote.ls_remotes(...)`
|
|
48
|
+
[#1396](https://github.com/libgit2/pygit2/pull/1396)
|
|
49
|
+
|
|
50
|
+
- New `Remote.list_heads(...)` returns a list of `RemoteHead` objects
|
|
51
|
+
[#1397](https://github.com/libgit2/pygit2/pull/1397)
|
|
52
|
+
[#1410](https://github.com/libgit2/pygit2/pull/1410)
|
|
53
|
+
|
|
54
|
+
- Documentation fixes
|
|
55
|
+
[#1388](https://github.com/libgit2/pygit2/pull/1388)
|
|
56
|
+
|
|
57
|
+
- Typing improvements
|
|
58
|
+
[#1387](https://github.com/libgit2/pygit2/pull/1387)
|
|
59
|
+
[#1389](https://github.com/libgit2/pygit2/pull/1389)
|
|
60
|
+
[#1390](https://github.com/libgit2/pygit2/pull/1390)
|
|
61
|
+
[#1391](https://github.com/libgit2/pygit2/pull/1391)
|
|
62
|
+
[#1392](https://github.com/libgit2/pygit2/pull/1392)
|
|
63
|
+
[#1393](https://github.com/libgit2/pygit2/pull/1393)
|
|
64
|
+
[#1394](https://github.com/libgit2/pygit2/pull/1394)
|
|
65
|
+
[#1398](https://github.com/libgit2/pygit2/pull/1398)
|
|
66
|
+
[#1399](https://github.com/libgit2/pygit2/pull/1399)
|
|
67
|
+
[#1400](https://github.com/libgit2/pygit2/pull/1400)
|
|
68
|
+
[#1402](https://github.com/libgit2/pygit2/pull/1402)
|
|
69
|
+
[#1403](https://github.com/libgit2/pygit2/pull/1403)
|
|
70
|
+
[#1406](https://github.com/libgit2/pygit2/pull/1406)
|
|
71
|
+
[#1407](https://github.com/libgit2/pygit2/pull/1407)
|
|
72
|
+
[#1408](https://github.com/libgit2/pygit2/pull/1408)
|
|
73
|
+
|
|
74
|
+
Deprecations:
|
|
75
|
+
|
|
76
|
+
- `Remote.ls_remotes(...)` is deprecated, use `Remote.list_heads(...)`:
|
|
77
|
+
|
|
78
|
+
# Before
|
|
79
|
+
for head in remote.ls_remotes():
|
|
80
|
+
head['name']
|
|
81
|
+
head['oid']
|
|
82
|
+
head['loid'] # None when local is False
|
|
83
|
+
head['local']
|
|
84
|
+
head['symref_target']
|
|
85
|
+
|
|
86
|
+
# Now
|
|
87
|
+
for head in remote.list_heads():
|
|
88
|
+
head.name
|
|
89
|
+
head.oid
|
|
90
|
+
head.loid # The zero oid when local is False
|
|
91
|
+
head.local
|
|
92
|
+
head.symref_target
|
|
93
|
+
|
|
94
|
+
|
|
1
95
|
# 1.18.1 (2025-07-26)
|
|
2
96
|
|
|
3
97
|
- Update wheels to libgit2 1.9.1 and OpenSSL 3.3
|
|
@@ -239,31 +333,39 @@ Deprecations:
|
|
|
239
333
|
|
|
240
334
|
# 1.14.0 (2024-01-26)
|
|
241
335
|
|
|
242
|
-
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
336
|
+
- Drop support for Python 3.8
|
|
337
|
+
|
|
338
|
+
- Add Linux wheels for musl on x86\_64
|
|
339
|
+
[#1266](https://github.com/libgit2/pygit2/pull/1266)
|
|
340
|
+
|
|
341
|
+
- New `Repository.submodules` namespace
|
|
342
|
+
[#1250](https://github.com/libgit2/pygit2/pull/1250)
|
|
343
|
+
|
|
344
|
+
- New `Repository.listall_mergeheads()`, `Repository.message`,
|
|
345
|
+
`Repository.raw_message` and `Repository.remove_message()`
|
|
346
|
+
[#1261](https://github.com/libgit2/pygit2/pull/1261)
|
|
347
|
+
|
|
348
|
+
- New `pygit2.enums` supersedes the `GIT_` constants
|
|
349
|
+
[#1251](https://github.com/libgit2/pygit2/pull/1251)
|
|
350
|
+
|
|
351
|
+
- Now `Repository.status()`, `Repository.status_file()`,
|
|
352
|
+
`Repository.merge_analysis()`, `DiffFile.flags`, `DiffFile.mode`,
|
|
353
|
+
`DiffDelta.flags` and `DiffDelta.status` return enums
|
|
354
|
+
[#1263](https://github.com/libgit2/pygit2/pull/1263)
|
|
355
|
+
|
|
356
|
+
- Now repository\'s `merge()`, `merge_commits()` and `merge_trees()`
|
|
357
|
+
take enums/flags for their `favor`, `flags` and `file_flags` arguments.
|
|
358
|
+
[#1271](https://github.com/libgit2/pygit2/pull/1271)
|
|
359
|
+
[#1272](https://github.com/libgit2/pygit2/pull/1272)
|
|
360
|
+
|
|
361
|
+
- Fix crash in filter cleanup
|
|
362
|
+
[#1259](https://github.com/libgit2/pygit2/pull/1259)
|
|
363
|
+
|
|
364
|
+
- Documentation fixes
|
|
365
|
+
[#1255](https://github.com/libgit2/pygit2/pull/1255)
|
|
366
|
+
[#1258](https://github.com/libgit2/pygit2/pull/1258)
|
|
367
|
+
[#1268](https://github.com/libgit2/pygit2/pull/1268)
|
|
368
|
+
[#1270](https://github.com/libgit2/pygit2/pull/1270)
|
|
267
369
|
|
|
268
370
|
Breaking changes:
|
|
269
371
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pygit2
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.19.0
|
|
4
4
|
Summary: Python bindings for libgit2.
|
|
5
5
|
Home-page: https://github.com/libgit2/pygit2
|
|
6
6
|
Maintainer: J. David Ibáñez
|
|
@@ -14,19 +14,19 @@ Classifier: Development Status :: 5 - Production/Stable
|
|
|
14
14
|
Classifier: Intended Audience :: Developers
|
|
15
15
|
Classifier: Programming Language :: Python
|
|
16
16
|
Classifier: Programming Language :: Python :: 3
|
|
17
|
-
Classifier: Programming Language :: Python :: 3.10
|
|
18
17
|
Classifier: Programming Language :: Python :: 3.11
|
|
19
18
|
Classifier: Programming Language :: Python :: 3.12
|
|
20
19
|
Classifier: Programming Language :: Python :: 3.13
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
21
21
|
Classifier: Programming Language :: Python :: Implementation :: PyPy
|
|
22
22
|
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
23
23
|
Classifier: Topic :: Software Development :: Version Control
|
|
24
24
|
Classifier: Typing :: Typed
|
|
25
|
-
Requires-Python: >=3.
|
|
25
|
+
Requires-Python: >=3.11
|
|
26
26
|
Description-Content-Type: text/markdown
|
|
27
27
|
License-File: COPYING
|
|
28
28
|
License-File: AUTHORS.md
|
|
29
|
-
Requires-Dist: cffi>=
|
|
29
|
+
Requires-Dist: cffi>=2.0
|
|
30
30
|
Dynamic: classifier
|
|
31
31
|
Dynamic: description
|
|
32
32
|
Dynamic: description-content-type
|
|
@@ -44,20 +44,24 @@ Dynamic: summary
|
|
|
44
44
|
# pygit2 - libgit2 bindings in Python
|
|
45
45
|
|
|
46
46
|
Bindings to the libgit2 shared library, implements Git plumbing.
|
|
47
|
-
Supports Python 3.
|
|
47
|
+
Supports Python 3.11 to 3.14 and PyPy3 7.3+
|
|
48
48
|
|
|
49
|
-
[![
|
|
49
|
+
[![test-ci-badge][test-ci-badge]][test-ci-link]
|
|
50
|
+
[![deploy-ci-badge][deploy-ci-badge]][deploy-ci-link]
|
|
50
51
|
|
|
51
|
-
[
|
|
52
|
+
[deploy-ci-badge]: https://github.com/libgit2/pygit2/actions/workflows/wheels.yml/badge.svg
|
|
53
|
+
[deploy-ci-link]: https://github.com/libgit2/pygit2/actions/workflows/wheels.yml
|
|
54
|
+
[test-ci-badge]: https://github.com/libgit2/pygit2/actions/workflows/tests.yml/badge.svg
|
|
55
|
+
[test-ci-link]: https://github.com/libgit2/pygit2/actions/workflows/tests.yml
|
|
52
56
|
|
|
53
57
|
## Links
|
|
54
58
|
|
|
55
|
-
-
|
|
56
|
-
-
|
|
57
|
-
-
|
|
58
|
-
-
|
|
59
|
-
-
|
|
60
|
-
-
|
|
59
|
+
- Documentation - <https://www.pygit2.org/>
|
|
60
|
+
- Install - <https://www.pygit2.org/install.html>
|
|
61
|
+
- Download - <https://pypi.org/project/pygit2/>
|
|
62
|
+
- Source code and issue tracker - <https://github.com/libgit2/pygit2>
|
|
63
|
+
- Changelog - <https://github.com/libgit2/pygit2/blob/master/CHANGELOG.md>
|
|
64
|
+
- Authors - <https://github.com/libgit2/pygit2/blob/master/AUTHORS.md>
|
|
61
65
|
|
|
62
66
|
## Sponsors
|
|
63
67
|
|
|
@@ -1,20 +1,24 @@
|
|
|
1
1
|
# pygit2 - libgit2 bindings in Python
|
|
2
2
|
|
|
3
3
|
Bindings to the libgit2 shared library, implements Git plumbing.
|
|
4
|
-
Supports Python 3.
|
|
4
|
+
Supports Python 3.11 to 3.14 and PyPy3 7.3+
|
|
5
5
|
|
|
6
|
-
[![
|
|
6
|
+
[![test-ci-badge][test-ci-badge]][test-ci-link]
|
|
7
|
+
[![deploy-ci-badge][deploy-ci-badge]][deploy-ci-link]
|
|
7
8
|
|
|
8
|
-
[
|
|
9
|
+
[deploy-ci-badge]: https://github.com/libgit2/pygit2/actions/workflows/wheels.yml/badge.svg
|
|
10
|
+
[deploy-ci-link]: https://github.com/libgit2/pygit2/actions/workflows/wheels.yml
|
|
11
|
+
[test-ci-badge]: https://github.com/libgit2/pygit2/actions/workflows/tests.yml/badge.svg
|
|
12
|
+
[test-ci-link]: https://github.com/libgit2/pygit2/actions/workflows/tests.yml
|
|
9
13
|
|
|
10
14
|
## Links
|
|
11
15
|
|
|
12
|
-
-
|
|
13
|
-
-
|
|
14
|
-
-
|
|
15
|
-
-
|
|
16
|
-
-
|
|
17
|
-
-
|
|
16
|
+
- Documentation - <https://www.pygit2.org/>
|
|
17
|
+
- Install - <https://www.pygit2.org/install.html>
|
|
18
|
+
- Download - <https://pypi.org/project/pygit2/>
|
|
19
|
+
- Source code and issue tracker - <https://github.com/libgit2/pygit2>
|
|
20
|
+
- Changelog - <https://github.com/libgit2/pygit2/blob/master/CHANGELOG.md>
|
|
21
|
+
- Authors - <https://github.com/libgit2/pygit2/blob/master/AUTHORS.md>
|
|
18
22
|
|
|
19
23
|
## Sponsors
|
|
20
24
|
|
pygit2-1.19.0/build.ps1
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
if (!(Test-Path -Path "build")) {
|
|
2
|
+
# in case the pygit2 package build/ workspace has not been created by cibuildwheel yet
|
|
3
|
+
mkdir build
|
|
4
|
+
}
|
|
5
|
+
if (Test-Path -Path "$env:LIBGIT2_SRC") {
|
|
6
|
+
Set-Location "$env:LIBGIT2_SRC"
|
|
7
|
+
# for local runs, reuse build/libgit_src if it exists
|
|
8
|
+
if (Test-Path -Path build) {
|
|
9
|
+
# purge previous build env (likely for a different arch type)
|
|
10
|
+
Remove-Item -Recurse -Force build
|
|
11
|
+
}
|
|
12
|
+
# ensure we are checked out to the right version
|
|
13
|
+
git fetch --depth=1 --tags
|
|
14
|
+
git checkout "v$env:LIBGIT2_VERSION"
|
|
15
|
+
} else {
|
|
16
|
+
# from a fresh run (like in CI)
|
|
17
|
+
git clone --depth=1 -b "v$env:LIBGIT2_VERSION" https://github.com/libgit2/libgit2.git $env:LIBGIT2_SRC
|
|
18
|
+
Set-Location "$env:LIBGIT2_SRC"
|
|
19
|
+
}
|
|
20
|
+
cmake -B build -S . -DBUILD_TESTS=OFF
|
|
21
|
+
cmake --build build/ --config=Release --target install
|
|
@@ -134,7 +134,7 @@ if [ -n "$OPENSSL_VERSION" ]; then
|
|
|
134
134
|
# Linux
|
|
135
135
|
tar xf $FILENAME.tar.gz
|
|
136
136
|
cd $FILENAME
|
|
137
|
-
./Configure shared --prefix=$PREFIX --libdir=$PREFIX/lib
|
|
137
|
+
./Configure shared no-apps no-docs no-tests --prefix=$PREFIX --libdir=$PREFIX/lib
|
|
138
138
|
make
|
|
139
139
|
make install
|
|
140
140
|
OPENSSL_PREFIX=$(pwd)
|
|
@@ -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
|
|
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 .. \
|
|
@@ -269,7 +269,7 @@ if [ "$1" = "mypy" ]; then
|
|
|
269
269
|
$PREFIX/bin/pip install $WHEELDIR/pygit2*-$PYTHON_TAG-*.whl
|
|
270
270
|
fi
|
|
271
271
|
$PREFIX/bin/pip install -r requirements-test.txt
|
|
272
|
-
$PREFIX/bin/mypy pygit2
|
|
272
|
+
$PREFIX/bin/mypy pygit2 test
|
|
273
273
|
fi
|
|
274
274
|
|
|
275
275
|
# Test .pyi stub file
|
pygit2-1.19.0/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
|