-
-
Notifications
You must be signed in to change notification settings - Fork 465
Description
Describe the bug
After upgrading PDM from version from 2.26.1 to 2.26.6, I get UnpackError when installing a package from a git branch.
To reproduce
Run the following command inside a PDM project with pdm version 2.26.6:
pdm add -v "git+https://github.com/henri-hulski/pony.git@stubs"You will get an UnpackError.
Expected Behavior
It should install pony correctly.
Environment Information
PDM version:
2.26.6
Python Interpreter:
/home/wadera/web/sancode/artisana/.venv/bin/python (3.11)
Project Root:
/home/wadera/web/sancode/artisana
Local Packages:
/home/wadera/web/sancode/artisana/.venv/lib/python3.11/site-packages
{
"implementation_name": "cpython",
"implementation_version": "3.11.2",
"os_name": "posix",
"platform_machine": "x86_64",
"platform_release": "6.12.57+deb12-amd64",
"platform_system": "Linux",
"platform_version": "#1 SMP PREEMPT_DYNAMIC Debian 6.12.57-1~bpo12+1 (2025-11-17)",
"python_full_version": "3.11.2",
"platform_python_implementation": "CPython",
"python_version": "3.11",
"sys_platform": "linux"
}
Verbose Command Output
pdm.termui: Adding requirement git+https://github.com/henri-hulski/pony.git@stubs
unearth.vcs.git: Cloning https://github.com/henri-hulski/pony.git (revision: stubs) to /tmp/pdm-build-attx4m55
Traceback (most recent call last):
File "/home/wadera/.local/bin/pdm", line 8, in
sys.exit(main())
^^^^^^
File "/home/wadera/.local/share/pdm/venv/lib/python3.11/site-packages/pdm/core.py", line 391, in main
return core.main(args or sys.argv[1:])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/wadera/.local/share/pdm/venv/lib/python3.11/site-packages/pdm/core.py", line 270, in main
raise cast(Exception, err).with_traceback(traceback) from None
File "/home/wadera/.local/share/pdm/venv/lib/python3.11/site-packages/pdm/core.py", line 265, in main
self.handle(project, options)
File "/home/wadera/.local/share/pdm/venv/lib/python3.11/site-packages/pdm/core.py", line 195, in handle
command.handle(project, options)
File "/home/wadera/.local/share/pdm/venv/lib/python3.11/site-packages/pdm/cli/commands/add.py", line 71, in handle
self.do_add(
File "/home/wadera/.local/share/pdm/venv/lib/python3.11/site-packages/pdm/cli/commands/add.py", line 159, in do_add
resolved = do_lock(
^^^^^^^^
File "/home/wadera/.local/share/pdm/venv/lib/python3.11/site-packages/pdm/cli/actions.py", line 141, in do_lock
resolved, new_groups = resolver.resolve()
^^^^^^^^^^^^^^^^^^
File "/home/wadera/.local/share/pdm/venv/lib/python3.11/site-packages/pdm/resolver/resolvelib.py", line 51, in resolve
mapping = self._do_resolve()
^^^^^^^^^^^^^^^^^^
File "/home/wadera/.local/share/pdm/venv/lib/python3.11/site-packages/pdm/resolver/resolvelib.py", line 89, in _do_resolve
result = resolver.resolve(requirements, max_rounds)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/wadera/.local/share/pdm/venv/lib/python3.11/site-packages/resolvelib/resolvers/resolution.py", line 601, in resolve
state = resolution.resolve(requirements, max_rounds=max_rounds)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/wadera/.local/share/pdm/venv/lib/python3.11/site-packages/resolvelib/resolvers/resolution.py", line 434, in resolve
self._add_to_criteria(self.state.criteria, r, parent=None)
File "/home/wadera/.local/share/pdm/venv/lib/python3.11/site-packages/resolvelib/resolvers/resolution.py", line 150, in _add_to_criteria
if not criterion.candidates:
File "/home/wadera/.local/share/pdm/venv/lib/python3.11/site-packages/resolvelib/structs.py", line 169, in bool
next(iter(self))
File "/home/wadera/.local/share/pdm/venv/lib/python3.11/site-packages/pdm/resolver/providers.py", line 413, in matches_gen
yield from super_find()
File "/home/wadera/.local/share/pdm/venv/lib/python3.11/site-packages/pdm/resolver/providers.py", line 255, in
return (
^
File "/home/wadera/.local/share/pdm/venv/lib/python3.11/site-packages/pdm/resolver/providers.py", line 176, in _find_candidates
can.prepare(self.repository.environment).metadata
File "/home/wadera/.local/share/pdm/venv/lib/python3.11/site-packages/pdm/models/candidates.py", line 621, in metadata
result = self.prepare_metadata()
^^^^^^^^^^^^^^^^^^^^^^^
File "/home/wadera/.local/share/pdm/venv/lib/python3.11/site-packages/pdm/models/candidates.py", line 512, in prepare_metadata
self._unpack(validate_hashes=False)
File "/home/wadera/.local/share/pdm/venv/lib/python3.11/site-packages/pdm/models/candidates.py", line 480, in _unpack
result = finder.download_and_unpack(
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/wadera/.local/share/pdm/venv/lib/python3.11/site-packages/unearth/finder.py", line 452, in download_and_unpack
file = unpack_link(
^^^^^^^^^^^^
File "/home/wadera/.local/share/pdm/venv/lib/python3.11/site-packages/unearth/preparer.py", line 322, in unpack_link
backend.fetch(link, location)
File "/home/wadera/.local/share/pdm/venv/lib/python3.11/site-packages/unearth/vcs/base.py", line 152, in fetch
return self.fetch_new(location, url, rev, args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/wadera/.local/share/pdm/venv/lib/python3.11/site-packages/unearth/vcs/git.py", line 67, in fetch_new
revision = self._resolve_revision(location, rev)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/wadera/.local/share/pdm/venv/lib/python3.11/site-packages/unearth/vcs/git.py", line 171, in _resolve_revision
result = self.run_command(
^^^^^^^^^^^^^^^^^
File "/home/wadera/.local/share/pdm/venv/lib/python3.11/site-packages/unearth/vcs/base.py", line 78, in run_command
raise UnpackError(e.output) from None
unearth.errors.UnpackError: stubs
Additional Context
No response
Are you willing to submit a PR to fix this bug?
- Yes, I would like to submit a PR.