What happened instead? (Actual behavior) + git -C local1 fetch fatal: bad object refs/remotes/origin/dummy error: file:///tmp/tst/master did not send all necessary objects What's different between what you expected and what actually happened? Obvious - should work and does not work Anything else you want to add: It works if "git -C mirror gc --prune=now" step is skipped or if local path is used for the clone steps instead of the "file://" The same issue is with https://github.com/... The same issue if use "git -C local1 remote update --prune" instead of the "git -C local1 fetch" Please review the rest of the bug report below. You can delete any lines you don't wish to share. podman ub24 container is used to get a newer git version. Exactly the same behavior is for the git v2.39.1 [System Info] git version: git version 2.43.0 cpu: x86_64 no commit associated with this build sizeof-long: 8 sizeof-size_t: 8 shell-path: /bin/sh uname: Linux 5.14.0-70.13.1.el9_0.x86_64 #1 SMP PREEMPT Thu Apr 14 12:42:38 EDT 2022 x86_64 compiler info: gnuc: 13.2 libc info: glibc: 2.39 $SHELL (typically, interactive shell): <unset> [Enabled Hooks] not run from a git repository - no hooks to show