Jeff King <peff@xxxxxxxx> writes: > Note that even though packed-refs does not have this limitation, we > still enforce it in order to avoid headaches when moving between loose > and packed refs. > > Likewise, we'll probably[1] continue to enforce it with reftables, at > least for a while, to make things less confusing when pushing and > pulling between repositories with different storage. Yup, that coincides with my understanding. The files backend could also learn encoding/decoding refnames and that could be used to transition, if/when we decide to discard the "refs are organized in a directory-tree like fashion" design we have been using, to a new world order where a branch M and branches M/A, M/B, and M/C can co-exist. Encoding/decoding refname to map to the filename would also help those on case insensitive filesystems. Thanks to the recent preparation work for reftable, we are ensuring that we do not leave direct accesses to $GIT_DIR/refs/* in our codebase outside the files backend implementation, such a transition hopefully is getting much easier to do than before.