oid: provide an oid type to hash type map

We intentionally separate oid types from hash types; a hash is a generic
hunk of bytes, an object id has meaning and backs an object on disk.  As
a result of this separation, we need a 1:1 mapping.
This commit is contained in:
Edward Thomson
2022-01-26 13:08:24 -05:00
parent 14798060a6
commit c50b280fa5

View File

@@ -10,6 +10,7 @@
#include "common.h"
#include "git2/oid.h"
#include "hash.h"
#define GIT_OID_NONE { 0, { 0 } }
@@ -40,6 +41,18 @@ GIT_INLINE(size_t) git_oid_hexsize(git_oid_t type)
return 0;
}
GIT_INLINE(git_hash_algorithm_t) git_oid_algorithm(git_oid_t type)
{
switch (type) {
case GIT_OID_SHA1:
return GIT_HASH_ALGORITHM_SHA1;
case GIT_OID_SHA256:
return GIT_HASH_ALGORITHM_SHA256;
}
return 0;
}
/**
* Format a git_oid into a newly allocated c-string.
*