mirror of
https://github.com/git/git.git
synced 2024-10-28 12:59:41 +01:00
a680635e05
helper/test-oid-array.c along with t0064-oid-array.sh test the oid-array.h API, which provides storage and processing efficiency over large lists of object identifiers. Migrate them to the unit testing framework for better runtime performance and efficiency. As we don't initialize a repository in these tests, the hash algo that functions like oid_array_lookup() use is not initialized, therefore call repo_set_hash_algo() to initialize it. And init_hash_algo():lib-oid.c can aid in this process, so make it public. Mentored-by: Christian Couder <chriscool@tuxfamily.org> Mentored-by: Kaartic Sivaraam <kaartic.sivaraam@gmail.com> Helped-by: Phillip Wood <phillip.wood123@gmail.com> Signed-off-by: Ghanshyam Thakkar <shyamthakkar001@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
25 lines
900 B
C
25 lines
900 B
C
#ifndef LIB_OID_H
|
|
#define LIB_OID_H
|
|
|
|
#include "hash.h"
|
|
|
|
/*
|
|
* Convert arbitrary hex string to object_id.
|
|
* For example, passing "abc12" will generate
|
|
* "abc1200000000000000000000000000000000000" hex of length 40 for SHA-1 and
|
|
* create object_id with that.
|
|
* WARNING: passing a string of length more than the hexsz of respective hash
|
|
* algo is not allowed. The hash algo is decided based on GIT_TEST_DEFAULT_HASH
|
|
* environment variable.
|
|
*/
|
|
int get_oid_arbitrary_hex(const char *s, struct object_id *oid);
|
|
/*
|
|
* Returns one of GIT_HASH_{SHA1, SHA256, UNKNOWN} based on the value of
|
|
* GIT_TEST_DEFAULT_HASH environment variable. The fallback value in the
|
|
* absence of GIT_TEST_DEFAULT_HASH is GIT_HASH_SHA1. It also uses
|
|
* check(algo != GIT_HASH_UNKNOWN) before returning to verify if the
|
|
* GIT_TEST_DEFAULT_HASH's value is valid or not.
|
|
*/
|
|
int init_hash_algo(void);
|
|
|
|
#endif /* LIB_OID_H */
|