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.

Reply via email to