Re: How de-duplicate similar repositories with alternates
From: Ævar Arnfjörð Bjarmason <hidden>
Date: 2018-12-04 10:43:13
On Tue, Dec 04 2018, Jeff King wrote:
On Thu, Nov 29, 2018 at 03:59:26PM +0100, Ævar Arnfjörð Bjarmason wrote:quoted
This is the thing I was wrong about, in retrospect probably because I'd been putting PATH_TO_REPO in objects/info/alternates, but we actually need PATH_TO_REPO/objects, and "git gc" won't warn about this (or "git fsck"). Probably a good idea to patch that at some point, i.e. whine about paths in alternates that don't have objects, or at the very least those that don't exist. #leftoverbitsWe do complain about missing directories; see alt_odb_usable(). Pointing to a real directory that doesn't happen to contain any objects is harder. If there are no loose objects, there might not be any hashed object directories. For a "real" object database, there should always be a "pack/" directory. But technically the object storage directory does not even need to have that; it can just be a directory full of loose objects that happens not to have any at this moment. That said, I suspect if we issued a warning for "woah, it looks like this doesn't have any objects in it, nor does it even have a pack directory" that nobody would complain.
Yeah, although see my [ref], I also ran into a different issue. I think a warning (or even error) like this would be more useful: test ! -d $objdir && error... # current behavior test -d $objdir/objects && error "Did you mean $objdir/objects, silly?" # new error I.e. I suspect I'm not the only one who's not read the documentation carefully enough and thought it was a path to the root of the repo and wondered why it silently didn't work.