pkgsrc-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: pkgsrc/devel/py-dulwich
Module Name: pkgsrc
Committed By: adam
Date: Fri Dec 26 11:36:46 UTC 2025
Modified Files:
pkgsrc/devel/py-dulwich: Makefile PLIST cargo-depends.mk distinfo
Log Message:
py-dulwich: updated to 0.25.0
0.25.0 2025-12-17
**PLEASE NOTE**: This release makes quite a lot of changes to public APIs. This
is ahead of a 1.0 release, after which API changes will be kept backwards
compatible.
* Split out worktree module from porcelain into separate ``dulwich.worktree``
module for better code organization.
* Split porcelain module into separate submodules: ``dulwich.porcelain.tags``,
``dulwich.porcelain.notes``, ``dulwich.porcelain.submodule``, and
``dulwich.porcelain.lfs``. Main porcelain module re-exports all functions
for backward compatibility.
* Ensure ``dulwich.porcelain`` package is properly installed as a directory
structure with submodules.
* Add tests for consistent license preamble across codebase and prevent
``os.environ`` usage in lower layers.
* Add ``__all__`` exports to all modules for better API clarity and wildcard
import support.
* Fix ParamikoSSHVendor interface compatibility with SSHVendor.
* Add fallback when HEAD is missing in dumb HTTP protocol, improving
compatibility with repositories that don't have a HEAD reference.
* Fix smudge filter subprocess fallback for special characters in path.
* Fix UTF-8 decode error in process filter protocol when handling binary files.
* Fix ``porcelain.add()`` to correctly handle ``None`` values in pathspec
parameter.
* Add ``--stat`` argument to ``dulwich diff`` command to display diffstat
summary showing files changed and line additions/deletions.
* Avoid signing commits in ``porcelain.stash()`` operations to prevent
GPG prompt interruptions during automated stashing.
* Improve error handling when trying to remove non-empty directories during
worktree operations.
* Move greenthreads support to dulwich/contrib.
This code isn't really developed and only used
by the swift support.
* Move protocol-level peeled tags functions (``serialize_refs()``,
``write_info_refs()``, ``split_peeled_refs()``, ``strip_peeled_refs()``)
from ``dulwich.refs`` to ``dulwich.protocol``. The ``^{}`` peeled tags syntax
is now properly isolated to protocol-level code. Remove ``InfoRefsContainer``
class (functionality inlined into ``SwiftInfoRefsContainer``).
* Fix ``get_unstaged_changes()`` to correctly pass Blob objects to filter
callbacks instead of raw bytes. This fixes crashes when using ``.gitattributes``
files with filter callbacks like ``checkin_normalize``.
* The ``ObjectID`` and ``Ref`` types are now newtypes, making it harder to
accidentally pass the wrong type - as notified by mypy. Most of this is in
lower-level code.
* Implement support for ``core.sharedRepository`` configuration option.
Repository files and directories now respect shared repository permissions
for group-writable or world-writable repositories. Affects loose objects,
pack files, pack indexes, index files, and other git metadata files.
* Optimize status performance by using stat matching to skip reading
and filtering unchanged files. This provides significant performance
improvements for repositories with LFS filters, where filter operations can
be very expensive. The optimization matches Git's behavior of using mtime
and size comparisons to determine if files need processing. File entries
now use nanosecond-resolution timestamps for more accurate change detection.
* Add support for multi-pack index (MIDX) files for improved performance with
multiple pack files. Supports reading and writing MIDX files, including mmap
support for efficient loading. Enables faster object lookups across multiple
packs.
* Implement ``git restore`` and ``git switch`` commands with corresponding
porcelain functions. The ``restore`` command allows restoring files from
commits or the index, while ``switch`` provides branch switching functionality.
* Add support for ``core.protectHFS`` configuration option to protect against
HFS+ filesystem vulnerabilities.
* Skip tests that require the merge3 module when it is not available, improving
test compatibility across different Python environments.
* Drop support for Python 3.9.
* Add support for pack bitmap indexes for fast reachability queries.
* Add support for ``git rerere`` (reuse recorded resolution) with CLI
subcommands and porcelain functions. Supports ``rerere.enabled`` and
``rerere.autoupdate`` configuration.
* Add support for ``git mailinfo`` command to extract patch information from
email messages. Implements ``dulwich mailinfo`` CLI command,
``porcelain.mailinfo()``, and ``patch.mailinfo()`` with support for subject
munging, -k/-b flags, --scissors, --encoding, and --message-id options.
* Add support for column formatting.
* Add ``dulwich diagnose`` command to display diagnostic information about
the Python environment including Python version, PYTHONPATH, sys.path,
Dulwich version, and installed dependencies with their versions.
* Add support for SHA256 repositories. Dulwich can now read and write Git
repositories using SHA256 object format. This includes support for loose
objects, pack files (v1 and v2 indexes), tree parsing with SHA256 hashes,
pack bitmap indexes, commit graphs, and network protocol operations
(clone, fetch, push). The Rust extensions have been updated to support
variable hash lengths. SHA256 repositories require format version 1 and the
objectFormat extension. The ``dulwich init`` command now supports
``--objectformat`` option to create SHA256 repositories. Client and server
implementations advertise and negotiate object-format capabilities.
To generate a diff of this commit:
cvs rdiff -u -r1.72 -r1.73 pkgsrc/devel/py-dulwich/Makefile
cvs rdiff -u -r1.36 -r1.37 pkgsrc/devel/py-dulwich/PLIST
cvs rdiff -u -r1.11 -r1.12 pkgsrc/devel/py-dulwich/cargo-depends.mk
cvs rdiff -u -r1.67 -r1.68 pkgsrc/devel/py-dulwich/distinfo
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: pkgsrc/devel/py-dulwich/Makefile
diff -u pkgsrc/devel/py-dulwich/Makefile:1.72 pkgsrc/devel/py-dulwich/Makefile:1.73
--- pkgsrc/devel/py-dulwich/Makefile:1.72 Thu Nov 13 13:34:48 2025
+++ pkgsrc/devel/py-dulwich/Makefile Fri Dec 26 11:36:46 2025
@@ -1,6 +1,6 @@
-# $NetBSD: Makefile,v 1.72 2025/11/13 13:34:48 adam Exp $
+# $NetBSD: Makefile,v 1.73 2025/12/26 11:36:46 adam Exp $
-DISTNAME= dulwich-0.24.10
+DISTNAME= dulwich-0.25.0
PKGNAME= ${PYPKGPREFIX}-${DISTNAME}
CATEGORIES= devel python
MASTER_SITES= ${MASTER_SITE_PYPI:=d/dulwich/}
Index: pkgsrc/devel/py-dulwich/PLIST
diff -u pkgsrc/devel/py-dulwich/PLIST:1.36 pkgsrc/devel/py-dulwich/PLIST:1.37
--- pkgsrc/devel/py-dulwich/PLIST:1.36 Thu Nov 13 13:34:48 2025
+++ pkgsrc/devel/py-dulwich/PLIST Fri Dec 26 11:36:46 2025
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.36 2025/11/13 13:34:48 adam Exp $
+@comment $NetBSD: PLIST,v 1.37 2025/12/26 11:36:46 adam Exp $
bin/dul-receive-pack-${PYVERSSUFFIX}
bin/dul-upload-pack-${PYVERSSUFFIX}
bin/dulwich-${PYVERSSUFFIX}
@@ -17,6 +17,9 @@ ${PYSITELIB}/dulwich/__main__.pyo
${PYSITELIB}/dulwich/_diff_tree.so
${PYSITELIB}/dulwich/_objects.so
${PYSITELIB}/dulwich/_pack.so
+${PYSITELIB}/dulwich/_typing.py
+${PYSITELIB}/dulwich/_typing.pyc
+${PYSITELIB}/dulwich/_typing.pyo
${PYSITELIB}/dulwich/annotate.py
${PYSITELIB}/dulwich/annotate.pyc
${PYSITELIB}/dulwich/annotate.pyo
@@ -60,9 +63,9 @@ ${PYSITELIB}/dulwich/contrib/README.swif
${PYSITELIB}/dulwich/contrib/__init__.py
${PYSITELIB}/dulwich/contrib/__init__.pyc
${PYSITELIB}/dulwich/contrib/__init__.pyo
-${PYSITELIB}/dulwich/contrib/diffstat.py
-${PYSITELIB}/dulwich/contrib/diffstat.pyc
-${PYSITELIB}/dulwich/contrib/diffstat.pyo
+${PYSITELIB}/dulwich/contrib/greenthreads.py
+${PYSITELIB}/dulwich/contrib/greenthreads.pyc
+${PYSITELIB}/dulwich/contrib/greenthreads.pyo
${PYSITELIB}/dulwich/contrib/paramiko_vendor.py
${PYSITELIB}/dulwich/contrib/paramiko_vendor.pyc
${PYSITELIB}/dulwich/contrib/paramiko_vendor.pyo
@@ -84,6 +87,9 @@ ${PYSITELIB}/dulwich/diff.pyo
${PYSITELIB}/dulwich/diff_tree.py
${PYSITELIB}/dulwich/diff_tree.pyc
${PYSITELIB}/dulwich/diff_tree.pyo
+${PYSITELIB}/dulwich/diffstat.py
+${PYSITELIB}/dulwich/diffstat.pyc
+${PYSITELIB}/dulwich/diffstat.pyo
${PYSITELIB}/dulwich/dumb.py
${PYSITELIB}/dulwich/dumb.pyc
${PYSITELIB}/dulwich/dumb.pyo
@@ -108,9 +114,6 @@ ${PYSITELIB}/dulwich/gc.pyo
${PYSITELIB}/dulwich/graph.py
${PYSITELIB}/dulwich/graph.pyc
${PYSITELIB}/dulwich/graph.pyo
-${PYSITELIB}/dulwich/greenthreads.py
-${PYSITELIB}/dulwich/greenthreads.pyc
-${PYSITELIB}/dulwich/greenthreads.pyo
${PYSITELIB}/dulwich/hooks.py
${PYSITELIB}/dulwich/hooks.pyc
${PYSITELIB}/dulwich/hooks.pyo
@@ -150,9 +153,15 @@ ${PYSITELIB}/dulwich/merge.pyo
${PYSITELIB}/dulwich/merge_drivers.py
${PYSITELIB}/dulwich/merge_drivers.pyc
${PYSITELIB}/dulwich/merge_drivers.pyo
+${PYSITELIB}/dulwich/midx.py
+${PYSITELIB}/dulwich/midx.pyc
+${PYSITELIB}/dulwich/midx.pyo
${PYSITELIB}/dulwich/notes.py
${PYSITELIB}/dulwich/notes.pyc
${PYSITELIB}/dulwich/notes.pyo
+${PYSITELIB}/dulwich/object_format.py
+${PYSITELIB}/dulwich/object_format.pyc
+${PYSITELIB}/dulwich/object_format.pyo
${PYSITELIB}/dulwich/object_store.py
${PYSITELIB}/dulwich/object_store.pyc
${PYSITELIB}/dulwich/object_store.pyo
@@ -168,9 +177,24 @@ ${PYSITELIB}/dulwich/pack.pyo
${PYSITELIB}/dulwich/patch.py
${PYSITELIB}/dulwich/patch.pyc
${PYSITELIB}/dulwich/patch.pyo
-${PYSITELIB}/dulwich/porcelain.py
-${PYSITELIB}/dulwich/porcelain.pyc
-${PYSITELIB}/dulwich/porcelain.pyo
+${PYSITELIB}/dulwich/porcelain/__init__.py
+${PYSITELIB}/dulwich/porcelain/__init__.pyc
+${PYSITELIB}/dulwich/porcelain/__init__.pyo
+${PYSITELIB}/dulwich/porcelain/lfs.py
+${PYSITELIB}/dulwich/porcelain/lfs.pyc
+${PYSITELIB}/dulwich/porcelain/lfs.pyo
+${PYSITELIB}/dulwich/porcelain/notes.py
+${PYSITELIB}/dulwich/porcelain/notes.pyc
+${PYSITELIB}/dulwich/porcelain/notes.pyo
+${PYSITELIB}/dulwich/porcelain/submodule.py
+${PYSITELIB}/dulwich/porcelain/submodule.pyc
+${PYSITELIB}/dulwich/porcelain/submodule.pyo
+${PYSITELIB}/dulwich/porcelain/tag.py
+${PYSITELIB}/dulwich/porcelain/tag.pyc
+${PYSITELIB}/dulwich/porcelain/tag.pyo
+${PYSITELIB}/dulwich/porcelain/worktree.py
+${PYSITELIB}/dulwich/porcelain/worktree.pyc
+${PYSITELIB}/dulwich/porcelain/worktree.pyo
${PYSITELIB}/dulwich/protocol.py
${PYSITELIB}/dulwich/protocol.pyc
${PYSITELIB}/dulwich/protocol.pyo
@@ -190,6 +214,9 @@ ${PYSITELIB}/dulwich/reftable.pyo
${PYSITELIB}/dulwich/repo.py
${PYSITELIB}/dulwich/repo.pyc
${PYSITELIB}/dulwich/repo.pyo
+${PYSITELIB}/dulwich/rerere.py
+${PYSITELIB}/dulwich/rerere.pyc
+${PYSITELIB}/dulwich/rerere.pyo
${PYSITELIB}/dulwich/server.py
${PYSITELIB}/dulwich/server.pyc
${PYSITELIB}/dulwich/server.pyo
Index: pkgsrc/devel/py-dulwich/cargo-depends.mk
diff -u pkgsrc/devel/py-dulwich/cargo-depends.mk:1.11 pkgsrc/devel/py-dulwich/cargo-depends.mk:1.12
--- pkgsrc/devel/py-dulwich/cargo-depends.mk:1.11 Thu Nov 13 13:34:48 2025
+++ pkgsrc/devel/py-dulwich/cargo-depends.mk Fri Dec 26 11:36:46 2025
@@ -1,4 +1,4 @@
-# $NetBSD: cargo-depends.mk,v 1.11 2025/11/13 13:34:48 adam Exp $
+# $NetBSD: cargo-depends.mk,v 1.12 2025/12/26 11:36:46 adam Exp $
CARGO_CRATE_DEPENDS+= autocfg-1.5.0
CARGO_CRATE_DEPENDS+= heck-0.5.0
@@ -9,11 +9,11 @@ CARGO_CRATE_DEPENDS+= memoffset-0.9.1
CARGO_CRATE_DEPENDS+= once_cell-1.21.3
CARGO_CRATE_DEPENDS+= portable-atomic-1.11.1
CARGO_CRATE_DEPENDS+= proc-macro2-1.0.103
-CARGO_CRATE_DEPENDS+= pyo3-0.27.1
-CARGO_CRATE_DEPENDS+= pyo3-build-config-0.27.1
-CARGO_CRATE_DEPENDS+= pyo3-ffi-0.27.1
-CARGO_CRATE_DEPENDS+= pyo3-macros-0.27.1
-CARGO_CRATE_DEPENDS+= pyo3-macros-backend-0.27.1
+CARGO_CRATE_DEPENDS+= pyo3-0.27.2
+CARGO_CRATE_DEPENDS+= pyo3-build-config-0.27.2
+CARGO_CRATE_DEPENDS+= pyo3-ffi-0.27.2
+CARGO_CRATE_DEPENDS+= pyo3-macros-0.27.2
+CARGO_CRATE_DEPENDS+= pyo3-macros-backend-0.27.2
CARGO_CRATE_DEPENDS+= quote-1.0.42
CARGO_CRATE_DEPENDS+= rustversion-1.0.22
CARGO_CRATE_DEPENDS+= similar-2.7.0
Index: pkgsrc/devel/py-dulwich/distinfo
diff -u pkgsrc/devel/py-dulwich/distinfo:1.67 pkgsrc/devel/py-dulwich/distinfo:1.68
--- pkgsrc/devel/py-dulwich/distinfo:1.67 Thu Nov 13 13:34:48 2025
+++ pkgsrc/devel/py-dulwich/distinfo Fri Dec 26 11:36:46 2025
@@ -1,11 +1,11 @@
-$NetBSD: distinfo,v 1.67 2025/11/13 13:34:48 adam Exp $
+$NetBSD: distinfo,v 1.68 2025/12/26 11:36:46 adam Exp $
BLAKE2s (autocfg-1.5.0.crate) = d9738bc6755bf80a73705691ef930ca883cd58e4a2d1162b5c0a09cdc7029304
SHA512 (autocfg-1.5.0.crate) = f279856f234d39d369623576acf9546a1ca24d7fe449f36d4fb93ea75a7efaf2c4015b9616a69bbbed358c5e5882e16b045352f046aa4c049b3d13b1e8257b08
Size (autocfg-1.5.0.crate) = 18729 bytes
-BLAKE2s (dulwich-0.24.10.tar.gz) = 1ee7b985792606b536b518e4c24a1eaee3853cc0d23f7bddf3f95f714a512b7c
-SHA512 (dulwich-0.24.10.tar.gz) = b52cd3b4c76934466f18ff9b8e143fc61c4669b88d51fdb399bdf9679cd417b7453941dfe51710ae888cdbcd017e7fcce2817a466ad420a12beb4919701c7aca
-Size (dulwich-0.24.10.tar.gz) = 999843 bytes
+BLAKE2s (dulwich-0.25.0.tar.gz) = d28458ef2288fcbb2b4a97af0f9845bb30fa7661020437eab941e062b640b7e0
+SHA512 (dulwich-0.25.0.tar.gz) = f30d817c3c3bbf4ac632c101a1d430b3580548033c377c54ae3abef29024eb9d7d7a1948f578ad823874b6d840465bac9410dd432887659e25c54bbf7711c5c2
+Size (dulwich-0.25.0.tar.gz) = 1076943 bytes
BLAKE2s (heck-0.5.0.crate) = 0bc71a5746c9d1e7c913d096fb68f1d422464744e18adc592540b291882f5660
SHA512 (heck-0.5.0.crate) = f044fc9c3d22466629fd8f772ec0555350fd611c0cfadca51d99a3d2f10e155f77c1091916c8a95a6b9b499f366c2e99a5fbf45b010f988bfb9b2501bf9f6a76
Size (heck-0.5.0.crate) = 11517 bytes
@@ -30,21 +30,21 @@ Size (portable-atomic-1.11.1.crate) = 18
BLAKE2s (proc-macro2-1.0.103.crate) = 7af1d794685e37f5f791bb34732816cc0b2ad97ffd6b62dd7a443439d9b7f607
SHA512 (proc-macro2-1.0.103.crate) = 9a6964a2ad24dbb1108b7018882ddb48cb6e6f652d1c5eed1cac94602539fc71f011a0a276765778df161edbd6387bf03a8505d93565e0c106f09e98d7d6efce
Size (proc-macro2-1.0.103.crate) = 60024 bytes
-BLAKE2s (pyo3-0.27.1.crate) = a992d6a849d5b930973ea81e38e52acbd5f298e907723e6aac2b3fdda472f82d
-SHA512 (pyo3-0.27.1.crate) = f4c8d65b0a95633850597d6b29298c4a14aa3239fa245684cf6caf275f070698b35b03bfb3f256aaca0cec0d31211c51e2f2650a9d12eddce2a4d5d1f81e06a2
-Size (pyo3-0.27.1.crate) = 1172212 bytes
-BLAKE2s (pyo3-build-config-0.27.1.crate) = f324a5a77cb467aade4c8c0b9f2629ed80e3b84ee13e483e7725c4e11c1b0496
-SHA512 (pyo3-build-config-0.27.1.crate) = 9add95c372ac2db8e3e719ca2b393aa1e18b6786a7d34e113b07a7e0ad9698ad2d3753a1e7707e4df1edbf62c4fba2df6e0227e5658d5d368ac1dbf76a0e9455
-Size (pyo3-build-config-0.27.1.crate) = 35565 bytes
-BLAKE2s (pyo3-ffi-0.27.1.crate) = a0ea69bf2a6425c55f3ee57fe4ddb2c24915c41df607a9c682a16dfc85980cfc
-SHA512 (pyo3-ffi-0.27.1.crate) = 5bfb8e7982b0d9ddf6fb2c2a4110b43c5b4bcc6f0a14acb50af329742b6eb9993df2ffe88bc34732fd0a58ca552df1b071fa8efd7b38d3441a7b9f45245168ea
-Size (pyo3-ffi-0.27.1.crate) = 78517 bytes
-BLAKE2s (pyo3-macros-0.27.1.crate) = 2dd3178390833c52935ce5836cff57e049647cf628e652365d1b942ad4f25ca9
-SHA512 (pyo3-macros-0.27.1.crate) = 7d33a363e464e2fe5b4fe4b958877c695542c8e18a0b512868d579455c9c6072d8a4c00a36b069bf8b54f7dade9847b3968c3d3f40b0b2b54fcfeff44f0afef2
-Size (pyo3-macros-0.27.1.crate) = 8918 bytes
-BLAKE2s (pyo3-macros-backend-0.27.1.crate) = e0fba19c10a01ccb40932220cd24b5e0463800068937517aa281c18474daa069
-SHA512 (pyo3-macros-backend-0.27.1.crate) = 036147deb1ad48815e22c84071069ed4eefe6b75c95cf727259231d63f0dbde00310983fbe90ab1b740ade071a22b9bb09073d6f120b519242c4bd8989bf3202
-Size (pyo3-macros-backend-0.27.1.crate) = 82521 bytes
+BLAKE2s (pyo3-0.27.2.crate) = 7332a4d08f14c932ec31673b4cf55320151e126ab50022920ad5c9ea0a9e913b
+SHA512 (pyo3-0.27.2.crate) = b20f502bda6cc6d283012acbb2e0225219ccd77af09990872c76b0088947050d886eb47ed88e9e0dcb327d08ab4bf09119f7cab527dfde358e01df5a32bb64c2
+Size (pyo3-0.27.2.crate) = 1171342 bytes
+BLAKE2s (pyo3-build-config-0.27.2.crate) = 47eedb2a2b03ee21c0514e574aa6c26ee83b915190c71777c469102a633e0721
+SHA512 (pyo3-build-config-0.27.2.crate) = dc7cee79ce7febddeec9e70dd5de3b59696a5cf38afeccdfeda00307cc22166d0e9649d5e34e9801b7f495b31c104fa78dac2241248787daae8b9ea1f4551ce5
+Size (pyo3-build-config-0.27.2.crate) = 35564 bytes
+BLAKE2s (pyo3-ffi-0.27.2.crate) = 20fac60cd265542b03f720596d2a94876524c4b462ac3a2bb7aa9a80217f761f
+SHA512 (pyo3-ffi-0.27.2.crate) = 29936c7a0fa524304ca8b017ac912e2c3e9237a86ac8510c17b96b75c7e83948599884f064428640456cd5fb256246d536da432d096f924e78360efd973cee0b
+Size (pyo3-ffi-0.27.2.crate) = 78552 bytes
+BLAKE2s (pyo3-macros-0.27.2.crate) = 87dfa7978d8d2d0a551eb9dca1e6033031833b2ef564238139486377c8df7b8a
+SHA512 (pyo3-macros-0.27.2.crate) = b05f6b61c5b320e83e879384691cdb9ad57ade3ce5a9fdfb587ccd13ea1c92d2b210e2d7ca242c3d1a5f5173076a25578d3d81f5a8c3935a43f010bfa8452153
+Size (pyo3-macros-0.27.2.crate) = 8913 bytes
+BLAKE2s (pyo3-macros-backend-0.27.2.crate) = 54f717334168316b98b3140b92ca0271639e0a3342cd32c610cd589061e62582
+SHA512 (pyo3-macros-backend-0.27.2.crate) = 811fa48ceb5a87d23312b968efa9d8464653289cefc8a1e27838f03285eef67092652ba89eba655d243fa435edd97674a981267870d208e0b11390db32d1ad9f
+Size (pyo3-macros-backend-0.27.2.crate) = 82513 bytes
BLAKE2s (quote-1.0.42.crate) = 1396bc647a8df7a630d5375e909cd62a81495bb6b2e3e79d1585c8686c5caa40
SHA512 (quote-1.0.42.crate) = 6d55047312de6bab660459750c54213e986f0a80b4458fdb706c2fb3bab83b8239cd230dd9291662076d395c818a391142af1228ae3158cfa4960d6c74d531ba
Size (quote-1.0.42.crate) = 31504 bytes
Home |
Main Index |
Thread Index |
Old Index