Consider replacing GitOID Construction with plain SHA-256 #76
Replies: 4 comments 4 replies
-
But gitoids are not universally searchable, only within a single git repo |
Beta Was this translation helpful? Give feedback.
-
If it's on disk, the OS will happily tell us the length :) (and with Content-Length if retrieving via HTTP). |
Beta Was this translation helpful? Give feedback.
-
Effectively, at the source level, it means having to re-index incredible amounts of source code that is already indexed via gitoid in order to search for it. |
Beta Was this translation helpful? Give feedback.
-
I think historically we've wanted our artifact (and by extension manifest) identifiers to have the following characteristics:
Clearly, at any given moment in time, any well formed hash meets these characteristics. I'd suggest we consider these 'tier one' requirements. At tier 2, we have questions like:
Its also worth considering "Required of what when?". We have a few distinct cases we've already identified:
|
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
(This suggestion came from @dpp, this GitHub Discussion reproduces notes from the meeting discussion)
Proposal
Currently, the OmniBOR Artifact ID construction is a GitOID construction under the hood, meaning that we first hash in a "prefix" of the format
blob <number of bytes for file>\0
before hashing in the contents of a file.The proposal is to replace this "GitOID construction" with just plain hashing of the file itself, equivalent to what you'd get from passing a file to the
sha256sum
command or the equivalent for another hash algorithm.Note that this is distinct from considerations of what hashes to officially support.
Discussion
Need to clarify the tradeoffs between the options here.
Key thoughts:
We're currently planning a deeper conversation around this for Monday April 22nd, as we'll be missing some WG members at the April 15th meeting.
Beta Was this translation helpful? Give feedback.
All reactions