1. I noticed that normally refs transactions use the refs files-backend, looking at the reference transaction of refs files-backend alone: First, it opens a transaction in memory, then multiple update items are added in memory, and finally, when the reference transaction is committed, it creates a ref.lock for each update item, renames it to the real address of the ref. but there seems to be some packed-backend logic coupled inside of files-backend. This makes me wonder why these ref backends are not independent? 2. Is the reftable backend in a usable state? How can I enable it? I couldn't find any clues on https://www.git-scm.com/docs/reftable. 3. Will future git refs backend possibly support external storage media e.g. Redis? Thanks, -- ZheNing Hu