From time to time I do get: p14s ~ # emaint sync -a >>> Syncing repository 'gentoo' into '/var/db/repos/gentoo'... Auto packing the repository for optimum performance. See "git help gc" for manual housekeeping. Enumerating objects: 133141, done. Nothing new to pack. warning: There are too many unreachable loose objects; run 'git prune' to remove them. /usr/bin/git fetch origin --depth 1 remote: Total 0 (delta 0), reused 0 (delta 0), pack-reused 0 Auto packing the repository in background for optimum performance. See "git help gc" for manual housekeeping. * Using keys from /usr/share/openpgp-keys/gentoo-release.asc * Refreshing keys via WKD ... [ ok ] * Trusted signature found on top commit === Sync completed for gentoo Action: sync for repo: gentoo, returned code = 0 which should not happen for ::gentoo IMO.
Could you share your repos.conf settings for the gentoo repo? I would guess this is related to a shallow fetch depth.
Oh, I see fetch depth is 1. > /usr/bin/git fetch origin --depth 1
# cat /etc/portage/repos.conf/all.conf [DEFAULT] main-repo = gentoo [gentoo] location = /var/db/repos/gentoo auto-sync = yes sync-type = git sync-uri = https://github.com/gentoo-mirror/gentoo.git sync-git-verify-commit-signature = true priority = 10
flow, would you mind looking at this?
I would expect that "git gc" should remove the unreachable loose objects. The man page of "git prune" even tells us "In most cases, users should run git gc, which calls git prune. See the section "NOTES", below." So the unreachable loose objects should be gone after "git gc" and this repo configuration should lead to "git gc" being invoked. However, we invoke "git gc" with --auto. Maybe this is an issue? Why are we adding --auto here?
After looking at the git source code, it appears we have the following options: 1. Do nothing (because I am not yet positive that there is an actual issue, or it is at least an issue that will not eventually self heal) 2. run "git gc" without --auto 3. conditionally or unconditionally run "git prune" in addition to "git gc" On a side note: I've grepped sync logs going back multiple months on two of my machines that use the "canonical" ::gentoo git setup (shallow clone with depth=1) and could not find any "too many unreachable loose object" messages. @toralf: do you experience that affected repositories "heal" themselves?
(In reply to Florian Schmaus from comment #6) > @toralf: do you experience that affected repositories "heal" themselves? No, but it is now few months ago since I was faced with that.