Two more random things before I forget.
* I understand that you would want to allow both a ref "ref/D" and
"ref/D/F" to appear in the same reftable file. A refname is an
uninterpreted sequence of bytes and refnames are sorted in the
table.
Would it benefit us if we define the sort order of bytes slightly
different from the ASCII order, so that a slash '/' sorts between
NUL '\000' and SOH '\001', which is the order we should have used
when storing the entries in the index?
* Even though readers can continue accessing, starting from the
$GIT_DIR/refs, without locking and get consistent views, any
transaction that groups one or more ref updates would need to
take a global lock on $GIT_DIR/refs file.
Would it become a problem in a busy repository?