Hi, A good place to look at the structure of the Git objects is https://git-scm.com/book/en/v2/Git-Internals-Git-Objects
The codebase itself can get rather deep. A good place to look at changes is the mailing list https://lore.kernel.org/git/ and search for the various terms you are interested in and then looking at where the patches are applied (filenames, and function names). Emails to the mailing list MUST be in plain text - any html is treated a spam email ;-) On Tuesday, November 14, 2023 at 6:10:01 PM UTC [email protected] wrote: > Hi everyone, > > I'm part of the OmniBOR project, which is trying to build a mechanism to > track fine-grained dependencies used to produce software artifacts you > distribute to others. Under the hood, this is done by producing Git object > ID's to identify each artifact, and then using those to produce manifests > which record inputs for builds. > > As part of this, I maintain the `gitoid` crate (package) for the Rust > ecosystem. Currently, this crate only really supports blob objects, because > that's all OmniBOR actually needs. But I'd like it to support all Git > object types. > > To do this, I'll need to implement handling for producing GitOIDs for > trees, commits, and tags. I've done some spelunking in the Git codebase, > but haven't yet figured out for myself the structure of the buffer contents > used to produce GitOIDs for those object types. > > Any clarification of what the contents of those buffers look like would be > very helpful! > -- You received this message because you are subscribed to the Google Groups "Git for human beings" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/git-users/c46c842b-551e-4936-b489-36e8de3d39c7n%40googlegroups.com.
