diff --git a/setup.cfg b/setup.cfg index aad5015c..0f146851 100644 --- a/setup.cfg +++ b/setup.cfg @@ -25,7 +25,7 @@ package_dir= packages = find: install_requires= gitpython>3 - dulwich>=0.20.49 + dulwich>=0.21.5 pygit2>=1.10.0 pygtrie>=2.3.2 fsspec>=2021.7.0 diff --git a/src/scmrepo/git/backend/dulwich/__init__.py b/src/scmrepo/git/backend/dulwich/__init__.py index 4e47e9cc..ce653a4c 100644 --- a/src/scmrepo/git/backend/dulwich/__init__.py +++ b/src/scmrepo/git/backend/dulwich/__init__.py @@ -614,6 +614,7 @@ def fetch_refspecs( from dulwich.errors import NotGitRepository from dulwich.objectspec import parse_reftuples from dulwich.porcelain import DivergedBranches, check_diverged, get_remote_repo + from dulwich.refs import DictRefsContainer fetch_refs = [] @@ -623,7 +624,7 @@ def determine_wants( ) -> List[bytes]: fetch_refs.extend( parse_reftuples( - remote_refs, + DictRefsContainer(remote_refs), self.repo.refs, os.fsencode(refspecs) if isinstance(refspecs, str)