It would be beneficial to have an overview of how BK stores and manages objects, and what parts of the source code aid in the same.
For instance, the
git plumbing and porcelain chapter fully describes git objects, their storage and code for getting that to work.
If you would like to provide the knowledge training, I’ll be happy to create documentation in a format of your liking for free, so that more people start delving into BK internals.
June 11, 2016, 10:50pm
Agreed it would be very useful and we have pieces of it scattered around. Perhaps we could get on the phone or IRC and go over what you would like to learn.
In general for longer documents we have favored using asciidoc.
Here are the different areas I see:
blocked random access compression layer.
The format of the data for the files (not SCCS)
The SCCS weave and how it works. And why it works really well. (I actually have this started, but got distracted)
the special Binary weave format used for the ChangeSet file
the key exchange for doing graph compares over a high latency connection
the bk patch format
Lots of fun software magic to make this stuff fast.
June 12, 2016, 1:00am
Agreed that we desperately need more docs. I’m also willing to help explaining anything you want to learn about. As
@wscott said, we’ve used asciidoctor in the past for docs so we could get a repository going on bkbits.net…
Thank you for the offer of sharing more information gentlemen. I’ve emailed sent you an email to schedule a couple seasons. Thanks