Obtained from: https://github.com/python-poetry/poetry/commit/68ea7c862b9ab14ea4644a9d4f12b10c496ba85f --- pyproject.toml.orig 1970-01-01 00:00:00 UTC +++ pyproject.toml @@ -8,7 +8,7 @@ dependencies = [ "build (>=1.2.1,<2.0.0)", "cachecontrol[filecache] (>=0.14.0,<0.15.0)", "cleo (>=2.1.0,<3.0.0)", - "dulwich (>=0.22.6,<0.23.0)", + "dulwich (>=0.24.0,<0.25.0)", "fastjsonschema (>=2.18.0,<3.0.0)", # <8.7 because .metadata() (and Distribution.metadata) can now return None, # which requires some adaptions to our code. --- src/poetry/vcs/git/backend.py.orig 1970-01-01 00:00:00 UTC +++ src/poetry/vcs/git/backend.py @@ -355,7 +355,7 @@ class Git: try: with local: - local.reset_index() + local.get_worktree().reset_index() except (AssertionError, KeyError) as e: # this implies the ref we need does not exist or is invalid if isinstance(e, KeyError): --- tests/vcs/git/conftest.py.orig 1970-01-01 00:00:00 UTC +++ tests/vcs/git/conftest.py @@ -16,12 +16,13 @@ def temp_repo(tmp_path: Path) -> TempRepoFixture: def temp_repo(tmp_path: Path) -> TempRepoFixture: """Temporary repository with 2 commits""" repo = dulwich.repo.Repo.init(str(tmp_path)) + worktree = repo.get_worktree() # init commit (tmp_path / "foo").write_text("foo", encoding="utf-8") - repo.stage(["foo"]) + worktree.stage(["foo"]) - init_commit = repo.do_commit( + init_commit = worktree.commit( committer=b"User ", author=b"User ", message=b"init", @@ -30,8 +31,8 @@ def temp_repo(tmp_path: Path) -> TempRepoFixture: # one commit which is not "head" (tmp_path / "bar").write_text("bar", encoding="utf-8") - repo.stage(["bar"]) - middle_commit = repo.do_commit( + worktree.stage(["bar"]) + middle_commit = worktree.commit( committer=b"User ", author=b"User ", message=b"extra", @@ -40,9 +41,9 @@ def temp_repo(tmp_path: Path) -> TempRepoFixture: # extra commit (tmp_path / "third").write_text("third file", encoding="utf-8") - repo.stage(["third"]) + worktree.stage(["third"]) - head_commit = repo.do_commit( + head_commit = worktree.commit( committer=b"User ", author=b"User ", message=b"extra",