summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEdward Thomson <ethomson@edwardthomson.com>2021-01-15 09:59:15 +0000
committerGitHub <noreply@github.com>2021-01-15 09:59:15 +0000
commit674875dc7b1fc4a63cd2ac12a6aa2a534b003f2a (patch)
tree58e0db01f98ea246c1dc28bcaad016251f87d6b1
parent487f2a8287c4d1d41d39e05ac53d0e50c679d7e9 (diff)
parentd50d3db64a7c3a80479954440b373237ee2d716f (diff)
downloadlibgit2-674875dc7b1fc4a63cd2ac12a6aa2a534b003f2a.tar.gz
Merge pull request #5768 from lhchavez/midx-needs-refresh
midx: Fix a bug in `git_midx_needs_refresh()`
-rw-r--r--src/midx.c2
-rw-r--r--tests/pack/midx.c1
2 files changed, 2 insertions, 1 deletions
diff --git a/src/midx.c b/src/midx.c
index 0eff2e714..d6bb9c1e7 100644
--- a/src/midx.c
+++ b/src/midx.c
@@ -359,7 +359,7 @@ bool git_midx_needs_refresh(
if (bytes_read != GIT_OID_RAWSZ)
return true;
- return git_oid_cmp(&idx_checksum, &idx->checksum) == 0;
+ return !git_oid_equal(&idx_checksum, &idx->checksum);
}
int git_midx_entry_find(
diff --git a/tests/pack/midx.c b/tests/pack/midx.c
index 92d9ae24c..0d7efbef1 100644
--- a/tests/pack/midx.c
+++ b/tests/pack/midx.c
@@ -15,6 +15,7 @@ void test_pack_midx__parse(void)
cl_git_pass(git_repository_open(&repo, cl_fixture("testrepo.git")));
cl_git_pass(git_buf_joinpath(&midx_path, git_repository_path(repo), "objects/pack/multi-pack-index"));
cl_git_pass(git_midx_open(&idx, git_buf_cstr(&midx_path)));
+ cl_assert_equal_i(git_midx_needs_refresh(idx, git_buf_cstr(&midx_path)), 0);
cl_git_pass(git_oid_fromstr(&id, "5001298e0c09ad9c34e4249bc5801c75e9754fa5"));
cl_git_pass(git_midx_entry_find(&e, idx, &id, GIT_OID_HEXSZ));