| line |
true |
false |
branch |
|
62
|
0 |
0 |
if (!p) |
|
74
|
0 |
0 |
if (!p) |
|
78
|
0 |
0 |
if (parentcount && !p->parents.ptr) |
|
|
0 |
0 |
if (parentcount && !p->parents.ptr) |
|
81
|
0 |
0 |
if (git_oid_cpy(&p->sha1, git_commit_id(commit)) < 0) |
|
83
|
0 |
0 |
if (git_oid_cpy(&p->tree_oid, git_commit_tree_id(commit)) < 0) |
|
87
|
0 |
0 |
for (i = 0; i < parentcount; ++i) { |
|
88
|
0 |
0 |
git_oid *parent_id = git_array_alloc(p->parents); |
|
|
0 |
0 |
git_oid *parent_id = git_array_alloc(p->parents); |
|
89
|
0 |
0 |
if (!parent_id) |
|
91
|
0 |
0 |
if (git_oid_cpy(parent_id, git_commit_parent_id(commit, i)) < 0) |
|
116
|
0 |
0 |
if (chunk_oid_fanout->offset == 0) |
|
118
|
0 |
0 |
if (chunk_oid_fanout->length == 0) |
|
120
|
0 |
0 |
if (chunk_oid_fanout->length != 256 * 4) |
|
125
|
0 |
0 |
for (i = 0; i < 256; ++i) { |
|
127
|
0 |
0 |
if (n < nr) |
|
143
|
0 |
0 |
if (chunk_oid_lookup->offset == 0) |
|
145
|
0 |
0 |
if (chunk_oid_lookup->length == 0) |
|
147
|
0 |
0 |
if (chunk_oid_lookup->length != file->num_commits * GIT_OID_RAWSZ) |
|
152
|
0 |
0 |
for (i = 0; i < file->num_commits; ++i, oid += GIT_OID_RAWSZ) { |
|
153
|
0 |
0 |
if (git_oid_raw_cmp(prev_oid, oid) >= 0) |
|
166
|
0 |
0 |
if (chunk_commit_data->offset == 0) |
|
168
|
0 |
0 |
if (chunk_commit_data->length == 0) |
|
170
|
0 |
0 |
if (chunk_commit_data->length != file->num_commits * (GIT_OID_RAWSZ + 16)) |
|
183
|
0 |
0 |
if (chunk_extra_edge_list->length == 0) |
|
185
|
0 |
0 |
if (chunk_extra_edge_list->length % 4 != 0) |
|
211
|
0 |
0 |
GIT_ASSERT_ARG(file); |
|
213
|
0 |
0 |
if (size < sizeof(struct git_commit_graph_header) + GIT_OID_RAWSZ) |
|
218
|
0 |
0 |
if (hdr->signature != htonl(COMMIT_GRAPH_SIGNATURE) || hdr->version != COMMIT_GRAPH_VERSION |
|
|
0 |
0 |
if (hdr->signature != htonl(COMMIT_GRAPH_SIGNATURE) || hdr->version != COMMIT_GRAPH_VERSION |
|
219
|
0 |
0 |
|| hdr->object_id_version != COMMIT_GRAPH_OBJECT_ID_VERSION) { |
|
222
|
0 |
0 |
if (hdr->chunks == 0) |
|
233
|
0 |
0 |
if (trailer_offset < last_chunk_offset) |
|
237
|
0 |
0 |
if (git_hash_buf(checksum, data, (size_t)trailer_offset, GIT_HASH_ALGORITHM_SHA1) < 0) |
|
239
|
0 |
0 |
if (memcmp(checksum, file->checksum, checksum_size) != 0) |
|
244
|
0 |
0 |
for (i = 0; i < hdr->chunks; ++i, chunk_hdr += 12) { |
|
247
|
0 |
0 |
if (chunk_offset < last_chunk_offset) |
|
249
|
0 |
0 |
if (chunk_offset >= trailer_offset) |
|
251
|
0 |
0 |
if (last_chunk != NULL) |
|
289
|
0 |
0 |
if (error < 0) |
|
292
|
0 |
0 |
if (error < 0) |
|
295
|
0 |
0 |
if (error < 0) |
|
298
|
0 |
0 |
if (error < 0) |
|
309
|
0 |
35 |
GIT_ASSERT_ARG(cgraph_out); |
|
310
|
0 |
35 |
GIT_ASSERT_ARG(objects_dir); |
|
313
|
0 |
35 |
GIT_ERROR_CHECK_ALLOC(cgraph); |
|
316
|
0 |
35 |
if (error < 0) |
|
319
|
0 |
35 |
if (open_file) { |
|
321
|
0 |
0 |
if (error < 0) |
|
349
|
13 |
0 |
if (fd < 0) |
|
352
|
0 |
0 |
if (p_fstat(fd, &st) < 0) { |
|
358
|
0 |
0 |
if (!S_ISREG(st.st_mode) || !git__is_sizet(st.st_size)) { |
|
|
0 |
0 |
if (!S_ISREG(st.st_mode) || !git__is_sizet(st.st_size)) { |
|
366
|
0 |
0 |
GIT_ERROR_CHECK_ALLOC(file); |
|
370
|
0 |
0 |
if (error < 0) { |
|
375
|
0 |
0 |
if ((error = git_commit_graph_file_parse(file, file->graph_map.data, cgraph_size)) < 0) { |
|
386
|
13 |
166 |
if (!cgraph->checked) { |
|
396
|
13 |
0 |
if (error < 0) |
|
401
|
166 |
0 |
if (!cgraph->file) |
|
410
|
166 |
8 |
if (!cgraph->checked) |
|
413
|
0 |
8 |
if (cgraph->file |
|
414
|
0 |
0 |
&& git_commit_graph_file_needs_refresh(cgraph->file, git_str_cstr(&cgraph->filename))) { |
|
431
|
0 |
0 |
GIT_ASSERT_ARG(e); |
|
432
|
0 |
0 |
GIT_ASSERT_ARG(file); |
|
434
|
0 |
0 |
if (pos >= file->num_commits) { |
|
451
|
0 |
0 |
if (e->parent_indices[1] & 0x80000000u) { |
|
455
|
0 |
0 |
if (extra_edge_list_pos >= file->num_extra_edge_list) { |
|
463
|
0 |
0 |
while (extra_edge_list_pos < file->num_extra_edge_list |
|
464
|
0 |
0 |
&& (ntohl(*( |
|
488
|
0 |
0 |
if (fd < 0) |
|
491
|
0 |
0 |
if (p_fstat(fd, &st) < 0) { |
|
496
|
0 |
0 |
if (!S_ISREG(st.st_mode) || !git__is_sizet(st.st_size) |
|
|
0 |
0 |
if (!S_ISREG(st.st_mode) || !git__is_sizet(st.st_size) |
|
497
|
0 |
0 |
|| (size_t)st.st_size != file->graph_map.len) { |
|
504
|
0 |
0 |
if (bytes_read != (ssize_t)checksum_size) |
|
520
|
0 |
0 |
GIT_ASSERT_ARG(e); |
|
521
|
0 |
0 |
GIT_ASSERT_ARG(file); |
|
522
|
0 |
0 |
GIT_ASSERT_ARG(short_oid); |
|
525
|
0 |
0 |
lo = ((short_oid->id[0] == 0x0) ? 0 : ntohl(file->oid_fanout[(int)short_oid->id[0] - 1])); |
|
529
|
0 |
0 |
if (pos >= 0) { |
|
537
|
0 |
0 |
if (pos < (int)file->num_commits) { |
|
540
|
0 |
0 |
if (!git_oid_raw_ncmp(short_oid->id, current, len)) |
|
545
|
0 |
0 |
if (found && len != GIT_OID_HEXSZ && pos + 1 < (int)file->num_commits) { |
|
|
0 |
0 |
if (found && len != GIT_OID_HEXSZ && pos + 1 < (int)file->num_commits) { |
|
|
0 |
0 |
if (found && len != GIT_OID_HEXSZ && pos + 1 < (int)file->num_commits) { |
|
549
|
0 |
0 |
if (!git_oid_raw_ncmp(short_oid->id, next, len)) |
|
553
|
0 |
0 |
if (!found) |
|
556
|
0 |
0 |
if (found > 1) |
|
569
|
0 |
0 |
GIT_ASSERT_ARG(parent); |
|
570
|
0 |
0 |
GIT_ASSERT_ARG(file); |
|
572
|
0 |
0 |
if (n >= entry->parent_count) { |
|
577
|
0 |
0 |
if (n == 0 || (n == 1 && entry->parent_count == 2)) |
|
|
0 |
0 |
if (n == 0 || (n == 1 && entry->parent_count == 2)) |
|
|
0 |
0 |
if (n == 0 || (n == 1 && entry->parent_count == 2)) |
|
592
|
0 |
0 |
GIT_ASSERT_ARG(file); |
|
594
|
0 |
0 |
if (file->graph_map.data) |
|
602
|
1 |
35 |
if (!cgraph) |
|
612
|
35 |
0 |
if (!file) |
|
629
|
0 |
0 |
GIT_ERROR_CHECK_ALLOC(w); |
|
631
|
0 |
0 |
if (git_str_sets(&w->objects_info_dir, objects_info_dir) < 0) { |
|
636
|
0 |
0 |
if (git_vector_init(&w->commits, 0, packed_commit__cmp) < 0) { |
|
651
|
0 |
0 |
if (!w) |
|
654
|
0 |
0 |
git_vector_foreach (&w->commits, i, packed_commit) |
|
677
|
0 |
0 |
if (error < 0) |
|
680
|
0 |
0 |
if (header_type != GIT_OBJECT_COMMIT) |
|
684
|
0 |
0 |
if (error < 0) |
|
689
|
0 |
0 |
GIT_ERROR_CHECK_ALLOC(packed_commit); |
|
692
|
0 |
0 |
if (error < 0) { |
|
712
|
0 |
0 |
if (error < 0) |
|
716
|
0 |
0 |
if (error < 0) |
|
720
|
0 |
0 |
if (error < 0) |
|
724
|
0 |
0 |
if (p) |
|
738
|
0 |
0 |
while ((git_revwalk_next(&id, walk)) == 0) { |
|
740
|
0 |
0 |
if (error < 0) |
|
745
|
0 |
0 |
GIT_ERROR_CHECK_ALLOC(packed_commit); |
|
748
|
0 |
0 |
if (error < 0) { |
|
776
|
0 |
0 |
if (error < 0) |
|
778
|
0 |
0 |
git_vector_foreach (commits, i, child_packed_commit) { |
|
782
|
0 |
0 |
if (error < 0) |
|
786
|
0 |
0 |
git_vector_foreach (commits, i, child_packed_commit) { |
|
793
|
0 |
0 |
if (git_array_size(child_packed_commit->parents) |
|
794
|
0 |
0 |
&& !child_packed_commit->parent_indices.ptr) { |
|
798
|
0 |
0 |
git_array_foreach (child_packed_commit->parents, parent_i, parent_id) { |
|
|
0 |
0 |
git_array_foreach (child_packed_commit->parents, parent_i, parent_id) { |
|
800
|
0 |
0 |
if (!parent_packed_commit) { |
|
807
|
0 |
0 |
parent_idx_ptr = git_array_alloc(child_packed_commit->parent_indices); |
|
|
0 |
0 |
parent_idx_ptr = git_array_alloc(child_packed_commit->parent_indices); |
|
808
|
0 |
0 |
if (!parent_idx_ptr) { |
|
821
|
0 |
0 |
if (!index_stack.ptr) { |
|
828
|
0 |
0 |
if (!commit_states) { |
|
837
|
0 |
0 |
git_vector_foreach (commits, i, child_packed_commit) |
|
838
|
0 |
0 |
*(size_t *)git_array_alloc(index_stack) = i; |
|
|
0 |
0 |
*(size_t *)git_array_alloc(index_stack) = i; |
|
840
|
0 |
0 |
while (git_array_size(index_stack)) { |
|
841
|
0 |
0 |
size_t *index_ptr = git_array_pop(index_stack); |
|
845
|
0 |
0 |
if (commit_states[i] == GENERATION_NUMBER_COMMIT_STATE_VISITED) { |
|
849
|
0 |
0 |
if (commit_states[i] == GENERATION_NUMBER_COMMIT_STATE_EXPANDED) { |
|
852
|
0 |
0 |
git_array_foreach (child_packed_commit->parent_indices, j, parent_idx) { |
|
|
0 |
0 |
git_array_foreach (child_packed_commit->parent_indices, j, parent_idx) { |
|
854
|
0 |
0 |
if (child_packed_commit->generation < parent->generation) |
|
857
|
0 |
0 |
if (child_packed_commit->generation |
|
870
|
0 |
0 |
if (git_array_size(child_packed_commit->parent_indices) == 0) { |
|
885
|
0 |
0 |
*(size_t *)git_array_alloc(index_stack) = i; |
|
|
0 |
0 |
*(size_t *)git_array_alloc(index_stack) = i; |
|
886
|
0 |
0 |
git_array_foreach (child_packed_commit->parent_indices, j, parent_idx) { |
|
|
0 |
0 |
git_array_foreach (child_packed_commit->parent_indices, j, parent_idx) { |
|
887
|
0 |
0 |
if (commit_states[*parent_idx] |
|
894
|
0 |
0 |
*(size_t *)git_array_alloc(index_stack) = *parent_idx; |
|
|
0 |
0 |
*(size_t *)git_array_alloc(index_stack) = *parent_idx; |
|
914
|
0 |
0 |
if (error < 0) |
|
918
|
0 |
0 |
if (error < 0) |
|
932
|
0 |
0 |
if (error < 0) |
|
955
|
0 |
0 |
if (error < 0) |
|
997
|
0 |
0 |
if (error < 0) |
|
1006
|
0 |
0 |
if (error < 0) |
|
1011
|
0 |
0 |
for (i = 0; i < 256; i++) { |
|
1012
|
0 |
0 |
while (oid_fanout_count < git_vector_length(&w->commits) && |
|
|
0 |
0 |
while (oid_fanout_count < git_vector_length(&w->commits) && |
|
1013
|
0 |
0 |
(packed_commit = (struct packed_commit *)git_vector_get(&w->commits, oid_fanout_count)) && |
|
1020
|
0 |
0 |
git_vector_foreach (&w->commits, i, packed_commit) { |
|
1025
|
0 |
0 |
if (error < 0) |
|
1031
|
0 |
0 |
git_vector_foreach (&w->commits, i, packed_commit) { |
|
1042
|
0 |
0 |
if (error < 0) |
|
1045
|
0 |
0 |
if (parentcount == 0) { |
|
1048
|
0 |
0 |
packed_index = git_array_get(packed_commit->parent_indices, 0); |
|
1052
|
0 |
0 |
if (error < 0) |
|
1055
|
0 |
0 |
if (parentcount < 2) { |
|
1057
|
0 |
0 |
} else if (parentcount == 2) { |
|
1058
|
0 |
0 |
packed_index = git_array_get(packed_commit->parent_indices, 1); |
|
1064
|
0 |
0 |
if (error < 0) |
|
1067
|
0 |
0 |
if (parentcount > 2) { |
|
1069
|
0 |
0 |
for (parent_i = 1; parent_i < parentcount; ++parent_i) { |
|
1070
|
0 |
0 |
packed_index = git_array_get( |
|
1072
|
0 |
0 |
word = htonl((uint32_t)(*packed_index | (parent_i + 1 == parentcount ? 0x80000000u : 0))); |
|
1077
|
0 |
0 |
if (error < 0) |
|
1085
|
0 |
0 |
if (generation > GIT_COMMIT_GRAPH_GENERATION_NUMBER_MAX) |
|
1089
|
0 |
0 |
if (error < 0) |
|
1093
|
0 |
0 |
if (error < 0) |
|
1099
|
0 |
0 |
if (git_str_len(&extra_edge_list) > 0) |
|
1102
|
0 |
0 |
if (error < 0) |
|
1108
|
0 |
0 |
if (error < 0) |
|
1112
|
0 |
0 |
if (error < 0) |
|
1116
|
0 |
0 |
if (error < 0) |
|
1119
|
0 |
0 |
if (git_str_len(&extra_edge_list) > 0) { |
|
1122
|
0 |
0 |
if (error < 0) |
|
1127
|
0 |
0 |
if (error < 0) |
|
1132
|
0 |
0 |
if (error < 0) |
|
1135
|
0 |
0 |
if (error < 0) |
|
1138
|
0 |
0 |
if (error < 0) |
|
1141
|
0 |
0 |
if (error < 0) |
|
1146
|
0 |
0 |
if (error < 0) |
|
1149
|
0 |
0 |
if (error < 0) |
|
1170
|
0 |
0 |
GIT_INIT_STRUCTURE_FROM_TEMPLATE( |
|
1192
|
0 |
0 |
if (error < 0) |
|
1195
|
0 |
0 |
if (git_repository__fsync_gitdir) |
|
1199
|
0 |
0 |
if (error < 0) |
|
1203
|
0 |
0 |
if (error < 0) { |
|
1216
|
0 |
0 |
GIT_BUF_WRAP_PRIVATE(cgraph, git_commit_graph__writer_dump, w, opts); |
|
|
0 |
0 |
GIT_BUF_WRAP_PRIVATE(cgraph, git_commit_graph__writer_dump, w, opts); |