[QUESTION] How does Git ref backend work
- From
ZheNing Hu <adlternative@gmail.com>
- Date
- Apr 12, 2023, 06:25 UTC
- Message-ID
- <CAOLTT8Tg_Gkj6jid-sH_A=-xajN=rd=Vgh-nqHY5NcJ4-VExbg@mail.gmail.com>
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