> > Yes, the packed backend doesn't need to be a ref backend. > > Sorry, I do not follow. Do you mean we cannot have a version of Git > that offers say a read-only access to the repository without any > loose refs, with the default ref backend being the packed one? > > Or do you mean that we can ignore such a hypothetical use case and > could reimplement the files backend that can also understand the > $GIT_DIR/packed-refs file directly without "deferring to another ref > backend which is 'packed'"? I meant the latter - more specifically, the files backend could defer to functions that are not necessarily inside a struct ref_storage_be.