зеркало из https://github.com/microsoft/git.git
t/helper/test-repository: celebrate independence from the_repository
dade47c06c
(commit-graph: add repo arg to graph readers, 2018-07-11)
brought more independence from the_repository to the commit graph, however
it was not completely independent of the_repository, as the previous
patches show.
To ensure we're not accessing the_repository by accident, we'd ideally
assign NULL to the_repository to trigger a segfault on access.
We currently have a temporary hack in cache.h, which relies on
the_hash_algo (which is a short form of the_repository->hash_algo) to
be set, so we cannot do that. The next best thing is to set all fields of
the_repository to 0, so any accidental access is more likely to be found.
Signed-off-by: Stefan Beller <sbeller@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Родитель
b6b24fc57b
Коммит
ff509c585e
2
cache.h
2
cache.h
|
@ -1033,6 +1033,8 @@ static inline int hashcmp(const unsigned char *sha1, const unsigned char *sha2)
|
|||
*
|
||||
* This will need to be extended or ripped out when we learn about
|
||||
* hashes of different sizes.
|
||||
*
|
||||
* When ripping this out, see TODO in test-repository.c.
|
||||
*/
|
||||
if (the_hash_algo->rawsz != 20)
|
||||
BUG("hash size not yet supported by hashcmp");
|
||||
|
|
|
@ -17,6 +17,11 @@ static void test_parse_commit_in_graph(const char *gitdir, const char *worktree,
|
|||
|
||||
setup_git_env(gitdir);
|
||||
|
||||
memset(the_repository, 0, sizeof(*the_repository));
|
||||
|
||||
/* TODO: Needed for temporary hack in hashcmp, see 183a638b7da. */
|
||||
repo_set_hash_algo(the_repository, GIT_HASH_SHA1);
|
||||
|
||||
if (repo_init(&r, gitdir, worktree))
|
||||
die("Couldn't init repo");
|
||||
|
||||
|
@ -43,6 +48,11 @@ static void test_get_commit_tree_in_graph(const char *gitdir,
|
|||
|
||||
setup_git_env(gitdir);
|
||||
|
||||
memset(the_repository, 0, sizeof(*the_repository));
|
||||
|
||||
/* TODO: Needed for temporary hack in hashcmp, see 183a638b7da. */
|
||||
repo_set_hash_algo(the_repository, GIT_HASH_SHA1);
|
||||
|
||||
if (repo_init(&r, gitdir, worktree))
|
||||
die("Couldn't init repo");
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче