Han-Wen Nienhuys <hanwen@xxxxxxxxxx> writes: >> It also has less chances of creating complicated control flows >> (especially in JGit which wasn't designed for this bit from the >> start): the tables have to be written in lexicographic order, so you >> only can write this bit after you know if reflog entries were written >> for a certain ref. > > Correction. I wish the table blocks were written in lexicographic > order, but they are written in order 'g', ['i',] 'o', ['i'], 'g', > ['i']. Since the 'g' block is last within a table, we could add a new > section at the end. My point that this is considerable work to think > through how to make this work with JGit still stands, though. As long as a fake/NULL entry in the reflog is invisible to iterators and does not count as part of numbered entries when reflog@{23} notation is used, I think it is perfectly fine to take that approach, instead of "separate bit". I brought it up only as a possible alternative (i.e. "if bit is on or any entry exists, we do have log for the ref") in case ignoring the fake entry is impossible.