* Add reference to c-git-compatibility doc in README.md
* Implement cli commands for more porcelain
* Support GIT_TRACE_PACKET
* Fix cloning of SHA-256 repositories with protocol v2
* skip tests that require merge3 when it's not available
* Add test-minimal to CI; run tests without installing any optional dependencies
* Update SECURITY.md
* Don't skip 3.14 wheels
* Add Git protocol v2 packfile-uris client support
* Attempt to fix occasional issues with long running lfs processes in tests
* Allow passing commit and author timestamps into porcelain.commit
* Skip Python 3.14 x86_64/universal2 wheels on macOS
* Improve exception message for tags
* ci(deps): bump dependabot/fetch-metadata from 2.4.0 to 2.5.0
* ci(deps): bump actions/checkout from 6.0.1 to 6.0.2
* deps(deps-dev): bump ruff from 0.14.10 to 0.14.14 in the pip group
* Add bundle URI support for faster clones and fetches
* Add basic subtree support
* Add support for core.trustctime configuration option
* Fix LFS client selection for file:// URLs
* Add support for core.commentChar configuration option
* Add --unshallow support to fetch command
* Add progress reporting during pack file downloads
* Macos wheels fix
* Disable git-lfs filter process in LFS status tests to fix flaky Windows failures
* Server side hooks
* Fix checkout skipping files with paths starting with '.git'
OBS-URL: https://build.opensuse.org/package/show/devel:tools:scm/python-dulwich?expand=0&rev=45
- update to 0.22.6:
* ``ObjectStore.iter_prefix``: fix handling of missing
loose object directories. (Jelmer Vernooij)
* Reject invalid refcontainer values (not 40 characters or
symref).
* Add type hints to various functions. (Castedo Ellerman)
* Drop support for Python 3.8. (Jelmer Vernooij)
* Fix refspec handling in porcelain.pull. (Jelmer Vernooij)
* Drop broken refspec support in porcelain.clone.
* Provide ``ref_prefix`` functionality client-side
if the server does not support it.
* Consistently honor ``ref_prefix`` and ``protocol_version``
arguments in client. (Jelmer Vernooij)
* Strip pkt-line when negotiating protocol v2. Fixes
compatibility with gerrit. (Rémy Pecqueur, #1423)
* Don't pull in ``setuptools_rust`` when building pure
package. (Eli Schwartz)
* Return peeled refs from ``GitClient.get_refs`` if protocol-v2
is used. (Stefan Sperling, #1410)
* Drop outdated performance file. (Jelmer Vernooij, #1411)
* Fix handling of symrefs with protocol v2.
* Add ``ObjectStore.iter_prefix``. (Jelmer Vernooij)
* Revert back to version 3 of ``Cargo.lock``, to allow
building with older Cargo versions.
* Use a default ref-prefix when fetching with git protocol v2
* Add `ObjectStore.iter_prefix`. (Jelmer Vernooij)
* Improve wheel building in CI, so we can upload wheels for the
next release.
* Ship ``Cargo.lock``. (Jelmer Vernooij, #1287)
* Ship ``tests/`` and ``testdata/`` in sdist. (Jelmer Vernooij,
OBS-URL: https://build.opensuse.org/request/show/1226002
OBS-URL: https://build.opensuse.org/package/show/devel:tools:scm/python-dulwich?expand=0&rev=35
- Add patch geventhttpclient-compat.patch to make it compatible with
latest geventhttpclient.
(gh#jelmer/dulwich#1299, gh#jelmer/dulwich#1294)
- Update 0.22.1:
* Fix pypi deployments by @jelmer in #1284
* Handle alternate case for worktreeconfig setting by @wshanks in #1286
* Ship rust files. Fixes#1287 by @jelmer in #1290
- update 0.22.0:
* Start on 0.21.8 by @jelmer in #1240
* Install twine when uploading to pypi by @jelmer in #1241
* Remove shebang from graph.py by @mtelka in #1242
* Disable pypi uploads in disperse; this is now down by the GitHub actions workflow by @jelmer in #1243
* tweak doc-strings in LocalGitClient for clarity by @stspdotname in #1245
* Keep GitHub Actions up to date with GitHub's Dependabot by @cclauss in #1249
* Bump the github_actions group with 5 updates by @dependabot in #1250
* Add Python 3.12 to the testing by @cclauss in #1251
* pyproject.toml: Add trove classifier for Python 3.12 by @cclauss in #1252
* Convert _objects.c to _objects.rs by @jelmer in #1204
* Convert pack C helper to rust by @jelmer in #1255
* Convert diff-tree C helper to rust by @jelmer in #1256
* Revert "Bump the github_actions group with 5 updates" by @jelmer in #1257
* Only expect a shallow update when requesting a depth by @abderrahim in #1259
* Use f-strings by @jelmer in #1263
* Wrap all urllib3 read ProtocolErrors as GitProtocolError by @nanonyme in #1261
* Update cargo dependencies with dependabot by @jelmer in #1264
* wheels: Don't build with nightly by @jelmer in #1273
* Reformat with ruff by @jelmer in #1272
* Use latest cibuildwheel by @jelmer in #1276
* cibuildwheel: define options in pyproject.toml by @jelmer in #1275
* Move tests to root. Fixes#1024 by @jelmer in #1277
OBS-URL: https://build.opensuse.org/request/show/1206297
OBS-URL: https://build.opensuse.org/package/show/devel:tools:scm/python-dulwich?expand=0&rev=33
* Fix NameError when encountering errors during HTTP operation.
* Raise exception when default identity can't be found.
* Add a dedicated exception class for unresolved
deltas.
* Support credentials in proxy URL. (Jelmer Vernooij, #1227)
* Add ``dulwich.porcelain.for_each_ref``. (Daniele Trifirò)
OBS-URL: https://build.opensuse.org/package/show/devel:tools:scm/python-dulwich?expand=0&rev=31
- update to 0.21.6:
* index: Handle different stages of conflicted paths.
* Improve LCA finding performance. (Kevin Hendricks)
* client: Handle Content-Type with encoding set.
* Only import _hashlib for type checking.
* Update docs regarding building dulwich without c bindings
* objects: Define a stricter return type for _parse_message
* Raise GitProtocolError when encountering HTTP Errors in
* HTTPGitClient.
* tests: Ignore errors when deleting GNUPG
* Fix some stash functions on Python 3.
+ Add workaround for
https://bitbucket.org/pypy/pypy/issues/2499/cpyext-pystring_asstring-doesnt-work,
+ Properly quote config values with a ‘#’ character in them.
+ Skip test that requires sync to synchronize filesystems if os.sync is not
+ Raise exception in Repo.stage() when absolute paths are passed in. Allow
+ Set bufsize=0 for subprocess interaction with SSH client. Fixes hangs on
+ Don’t drop first slash for SSH paths, except for those starting with “~”.
than a list of revisions.
OBS-URL: https://build.opensuse.org/request/show/1112077
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-dulwich?expand=0&rev=61
* index: Handle different stages of conflicted paths.
* Improve LCA finding performance. (Kevin Hendricks)
* client: Handle Content-Type with encoding set.
* Only import _hashlib for type checking.
* Update docs regarding building dulwich without c bindings
* objects: Define a stricter return type for _parse_message
* Raise GitProtocolError when encountering HTTP Errors in
* HTTPGitClient.
* tests: Ignore errors when deleting GNUPG
* Fix some stash functions on Python 3.
+ Add workaround for
https://bitbucket.org/pypy/pypy/issues/2499/cpyext-pystring_asstring-doesnt-work,
+ Properly quote config values with a ‘#’ character in them.
+ Skip test that requires sync to synchronize filesystems if os.sync is not
+ Raise exception in Repo.stage() when absolute paths are passed in. Allow
+ Set bufsize=0 for subprocess interaction with SSH client. Fixes hangs on
+ Don’t drop first slash for SSH paths, except for those starting with “~”.
than a list of revisions.
OBS-URL: https://build.opensuse.org/package/show/devel:tools:scm/python-dulwich?expand=0&rev=29
* Be more tolerant to non-3-length tuple versions.
* Support ``core.symlinks=false``.
* Deprecate ``dulwich.objects.parse_commit``.
* Fix fetching into MemoryRepo.
* Support ``init.defaultBranch`` config.
* Fix ``ObjectStore.iterobjects_subset()`` when
hex shas are passed for objects that live in packs.
* client: Handle absolute path as redirect location in HTTP
client.
OBS-URL: https://build.opensuse.org/package/show/devel:tools:scm/python-dulwich?expand=0&rev=26
* Add support for ``worktreeconfig`` extension.
* Deprecate ``Commit.extra``; the Git project specifically
discourages adding custom lines, and the contents of
``Commit.extra`` are unpredictable as contents
may be different between different versions of Dulwich
with support for different headers.
``Commit._extra`` still exists.
OBS-URL: https://build.opensuse.org/package/show/devel:tools:scm/python-dulwich?expand=0&rev=24
- Update to version 0.21.2.
* Fix early file close bug in dulwich.pack.extend_pack. (@jelmer)
- Update to version 0.21.1.
* Factor out dulwich.pack.extend_pack. (@jelmer)
- Update to version 0.21.0.
* Pack internals have been significantly refactored, including significant low-level API changes.
As a consequence of this, Dulwich now reuses pack deltas when
communicating with remote servers, which brings a big boost to network performance. (@jelmer)
* Add 'pack-refs' command. (@danchr)
* Handle more errors when trying to read a ref (@danchr)
* Allow for reuse of existing deltas while creating pack files (@stspdotname)
* cli: fix argument parsing for pack-objects --stdout (@stspdotname)
* cli: open pack-objects output files in binary mode to avoid write() error (@stspdotname)
* Bump minimum python version to 3.7. (@jelmer)
* honor no_proxy environment variable (#1098, @afaul)
* In HTTP Git Client, allow missing Content-Type. (@jelmer)
* Fix --pure builds (@jelmer, #1093)
* Allow passing abbrev to describe (#1084, @nanonyme)
OBS-URL: https://build.opensuse.org/request/show/1059604
OBS-URL: https://build.opensuse.org/package/show/devel:tools:scm/python-dulwich?expand=0&rev=20
- Update to version 0.20.50.
* Fix Repo.reset_index. Previously, it instead took the union with the given tree. (Christian Sattler, #1072)
* Add -b argument to dulwich clone. (Jelmer Vernooij)
* On Windows, provide a hint about developer mode when creating symlinks fails due to a permission error. (Jelmer Vernooij, #1005)
* Add new ObjectID type in dulwich.objects, currently just an alias for bytes. (Jelmer Vernooij)
* Support repository format version 1. (Jelmer Vernooij, #1056)
* Support \r\n line endings with continuations when parsing configuration files. (Jelmer Vernooij)
* Fix handling of SymrefLoop in RefsContainer.setitem. (Dominic Davis-Foster, Jelmer Vernooij)
OBS-URL: https://build.opensuse.org/request/show/1037168
OBS-URL: https://build.opensuse.org/package/show/devel:tools:scm/python-dulwich?expand=0&rev=18
- update to 0.20.46:
* Apply insteadOf to rsync-style location strings
* Drop use of certifi, instead relying on urllib3's default
code to find system CAs.
* Implement timezone parsing in porcelain.
* Drop support for running without setuptools.
* Ensure configuration is loaded when
running "dulwich clone".
* Build 32 bit wheels for Windows.
* tests: Ignore errors when deleting GNUPG
home directory. Fixes spurious errors racing
gnupg-agent. Thanks, Matěj Cepl. Fixes#1000
* config: Support closing brackets in quotes in section
names. (Jelmer Vernooij, #10124)
* Various and formatting fixes. (Kian-Meng Ang)
* Document basic authentication in dulwich.porcelain.clone.
* Flush before calling fsync, ensuring buffers
are filled. (wernha)
* Support GPG commit signing. (springheeledjack0)
* Add python 3.11 support. (Saugat Pachhai)
* Allow missing GPG during tests. (Jakub Kulík)
* status: return posix-style untracked paths instead of nt-style paths on
win32 (Daniele Trifirò)
* Honour PATH environment when running C Git for testing.
* Split out exception for symbolic reference loops.
* Move various long-deprecated methods.
- drop rmtree-ignore-errors.patch (upstream)
OBS-URL: https://build.opensuse.org/request/show/1003048
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-dulwich?expand=0&rev=55
* Apply insteadOf to rsync-style location strings
* Drop use of certifi, instead relying on urllib3's default
code to find system CAs.
* Implement timezone parsing in porcelain.
* Drop support for running without setuptools.
* Ensure configuration is loaded when
running "dulwich clone".
* Build 32 bit wheels for Windows.
* tests: Ignore errors when deleting GNUPG
home directory. Fixes spurious errors racing
gnupg-agent. Thanks, Matěj Cepl. Fixes#1000
* config: Support closing brackets in quotes in section
names. (Jelmer Vernooij, #10124)
* Various and formatting fixes. (Kian-Meng Ang)
* Document basic authentication in dulwich.porcelain.clone.
* Flush before calling fsync, ensuring buffers
are filled. (wernha)
* Support GPG commit signing. (springheeledjack0)
* Add python 3.11 support. (Saugat Pachhai)
* Allow missing GPG during tests. (Jakub Kulík)
* status: return posix-style untracked paths instead of nt-style paths on
win32 (Daniele Trifirò)
* Honour PATH environment when running C Git for testing.
* Split out exception for symbolic reference loops.
* Move various long-deprecated methods.
- drop rmtree-ignore-errors.patch (upstream)
OBS-URL: https://build.opensuse.org/package/show/devel:tools:scm/python-dulwich?expand=0&rev=16
- update to 0.20.30:
* Support staging submodules.
* Drop deprecated Index.iterblobs and iter_fresh_blobs.
* Unify clone behaviour of ``Repo.clone`` and
``porcelain.clone``, and add branch parameter for
clone.
* Fix hook test on Mac OSX / Linux when dulwich is
not installed system-wide.
* Cope with gecos being unset.
* Allow adding files to repository in pre-commit hook.
* Raise SubmoduleEncountered in ``tree_lookup_path``.
OBS-URL: https://build.opensuse.org/request/show/945421
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-dulwich?expand=0&rev=44