On Sun, Jul 10, 2022 at 8:31 PM Philip Oakley <philipoakley@iee.email> wrote: > > On 09/07/2022 08:53, Abhradeep Chakraborty wrote: > > Hello Philip, > > > > Philip Oakley <philipoakley@iee.email> wrote: > > > >> Not sure if this is new in this extension, but should there be a link or > >> two to the basics of XOR compression and some of the bitmap look up > >> techniques? > >> > >> It's not always obvious if these techniques are 'heuristic' and only > >> have partial commit data, or they have all the commits listed, Nor > >> how/why they work. My point is more about giving new readers a hand-up > >> in their understanding, rather than simple implementation details for > >> those who already know what is going on. For example, are there any > >> external articles that you found helpful in getting started that could > >> be referenced somewhere in the docs? > > As this series is only about adding a lookup-table extension (and not > > about bitmap itself), I am not sure whether it's good to include those > > things in this series. > > Thanks for the clarification. I must have slight misread some of the > discussions and falsely thought it was the XOR compression (which is a > technique I wasn't really aware of), that was being provided by the > extension - Where would it be best for me to look up the background to > your "extension" project? Sorry that I missed this message. I got the information related to this project from the gsoc project ideas[1] page, additionally you can see the comments[2]. [1] https://git.github.io/SoC-2022-Ideas/ [2] https://lore.kernel.org/git/YNovuzAsaEb2uIaa@nand.local/ > > (As the name > > suggests, this file should only contain format details of bitmaps). > > That file would provide the answers of "Why bitmaps", "how they are > > stored", "How they are fetched", "how they work with pack-objects, > > git-fetch, midx etc.", "Detailed explanation of each bitmap extension" > > , and lastly "what are the future works" (if any). > > One thing I've realised on reflection is that I'm unclear how the > 'reachability bitmaps' and the 'commit-graph file' techniques relate to > each other (and to the ODB DAG), and what features they pick out within > their heuristic, explained at just enough level to allow folks to > appreciate what the options that select them will do for their use case. I am not familiar with 'commit-graph file', so I can't tell you about that. But for bitmaps, you can look at the introductory patches[3]. After that, if you wish, you can also inspect the code related to bitmaps. [3] https://github.com/gitster/git/commit/e127310 > > What do you think? > > I'd be happy to collate contributions, suggestions and thoughts. > > Trying to create these good introductory descriptions can be really > difficult, as you can only step into the same river once (the 'reading > for the first time problem' of not being able to un-hear the > explanations of others when reading a 2nd draft...) I agree ;-) Thanks :)