| line |
true |
false |
branch |
|
40
|
0 |
1270 |
if (!GIT_ADD_SIZET_OVERFLOW(&reflen, sizeof(git_reference), namelen) && |
|
|
1270 |
0 |
if (!GIT_ADD_SIZET_OVERFLOW(&reflen, sizeof(git_reference), namelen) && |
|
41
|
1270 |
0 |
!GIT_ADD_SIZET_OVERFLOW(&reflen, reflen, 1) && |
|
53
|
507 |
0 |
assert(name && target); |
|
|
0 |
507 |
assert(name && target); |
|
56
|
0 |
507 |
if (!ref) |
|
61
|
0 |
507 |
if ((ref->target.symbolic = git__strdup(target)) == NULL) { |
|
76
|
763 |
0 |
assert(name && oid); |
|
|
0 |
763 |
assert(name && oid); |
|
79
|
0 |
763 |
if (!ref) |
|
85
|
0 |
763 |
if (peel != NULL) |
|
97
|
1 |
0 |
assert(ptr_to_ref && name); |
|
|
0 |
1 |
assert(ptr_to_ref && name); |
|
101
|
0 |
1 |
if (!GIT_ADD_SIZET_OVERFLOW(&reflen, sizeof(git_reference), namelen) && |
|
|
1 |
0 |
if (!GIT_ADD_SIZET_OVERFLOW(&reflen, sizeof(git_reference), namelen) && |
|
102
|
1 |
0 |
!GIT_ADD_SIZET_OVERFLOW(&reflen, reflen, 1) && |
|
113
|
0 |
0 |
if (source->type == GIT_REFERENCE_SYMBOLIC) |
|
118
|
0 |
0 |
GIT_ERROR_CHECK_ALLOC(*dest); |
|
128
|
1547 |
1264 |
if (reference == NULL) |
|
131
|
505 |
759 |
if (reference->type == GIT_REFERENCE_SYMBOLIC) |
|
134
|
1155 |
109 |
if (reference->db) |
|
135
|
1 |
1154 |
GIT_REFCOUNT_DEC(reference->db, git_refdb__free); |
|
|
1 |
0 |
GIT_REFCOUNT_DEC(reference->db, git_refdb__free); |
|
145
|
0 |
6 |
if (!strcmp(ref->name, "HEAD")) { |
|
150
|
4 |
2 |
if (ref->type == GIT_REFERENCE_DIRECT) |
|
163
|
0 |
0 |
if ((error = git_repository_refdb__weakptr(&db, repo)) < 0) |
|
181
|
30 |
143 |
if ((error = git_reference_lookup_resolved(&ref, repo, name, -1)) < 0) |
|
198
|
1114 |
0 |
if (!git_repository__configmap_lookup(&precompose, repo, GIT_CONFIGMAP_PRECOMPOSE) && |
|
|
0 |
1114 |
if (!git_repository__configmap_lookup(&precompose, repo, GIT_CONFIGMAP_PRECOMPOSE) && |
|
202
|
0 |
1114 |
if (!validate) |
|
218
|
991 |
0 |
assert(ref_out && repo && name); |
|
|
991 |
0 |
assert(ref_out && repo && name); |
|
|
0 |
991 |
assert(ref_out && repo && name); |
|
220
|
981 |
10 |
if ((error = reference_normalize_for_repo(normalized, repo, name, true)) < 0 || |
|
|
981 |
0 |
if ((error = reference_normalize_for_repo(normalized, repo, name, true)) < 0 || |
|
221
|
125 |
856 |
(error = git_repository_refdb__weakptr(&refdb, repo)) < 0 || |
|
231
|
434 |
422 |
if (max_nesting && git_reference_type(*ref_out) == GIT_REFERENCE_SYMBOLIC) { |
|
|
3 |
431 |
if (max_nesting && git_reference_type(*ref_out) == GIT_REFERENCE_SYMBOLIC) { |
|
257
|
28 |
1 |
if (*refname) |
|
264
|
107 |
12 |
for (i = 0; formatters[i] && (fallbackmode || i == 0); i++) { |
|
|
106 |
1 |
for (i = 0; formatters[i] && (fallbackmode || i == 0); i++) { |
|
|
1 |
0 |
for (i = 0; formatters[i] && (fallbackmode || i == 0); i++) { |
|
268
|
0 |
107 |
if ((error = git_buf_printf(&refnamebuf, formatters[i], git_buf_cstr(&name))) < 0) |
|
271
|
16 |
91 |
if (!git_reference_is_valid_name(git_buf_cstr(&refnamebuf))) { |
|
279
|
17 |
74 |
if (!error) { |
|
285
|
0 |
74 |
if (error != GIT_ENOTFOUND) |
|
290
|
12 |
17 |
if (error && !foundvalid) { |
|
|
0 |
12 |
if (error && !foundvalid) { |
|
296
|
12 |
17 |
if (error == GIT_ENOTFOUND) |
|
309
|
0 |
992 |
assert(ref); |
|
315
|
0 |
207 |
assert(ref); |
|
321
|
0 |
338 |
assert(ref); |
|
327
|
0 |
381 |
assert(ref); |
|
329
|
0 |
381 |
if (ref->type != GIT_REFERENCE_DIRECT) |
|
337
|
0 |
0 |
assert(ref); |
|
339
|
0 |
0 |
if (ref->type != GIT_REFERENCE_DIRECT || git_oid_is_zero(&ref->peel)) |
|
|
0 |
0 |
if (ref->type != GIT_REFERENCE_DIRECT || git_oid_is_zero(&ref->peel)) |
|
347
|
0 |
424 |
assert(ref); |
|
349
|
0 |
424 |
if (ref->type != GIT_REFERENCE_SYMBOLIC) |
|
372
|
99 |
0 |
assert(repo && name); |
|
|
0 |
99 |
assert(repo && name); |
|
373
|
76 |
23 |
assert(symbolic || signature); |
|
|
0 |
76 |
assert(symbolic || signature); |
|
375
|
97 |
2 |
if (ref_out) |
|
379
|
0 |
99 |
if (error < 0) |
|
383
|
0 |
99 |
if (error < 0) |
|
386
|
76 |
23 |
if (oid != NULL) { |
|
387
|
0 |
76 |
assert(symbolic == NULL); |
|
389
|
0 |
76 |
if (!git_object__is_valid(repo, oid, GIT_OBJECT_ANY)) { |
|
402
|
0 |
23 |
if (error < 0) |
|
408
|
0 |
99 |
GIT_ERROR_CHECK_ALLOC(ref); |
|
410
|
2 |
97 |
if ((error = git_refdb_write(refdb, ref, force, signature, log_message, old_id, old_target)) < 0) { |
|
415
|
2 |
95 |
if (ref_out == NULL) |
|
425
|
0 |
69 |
if (repo->ident_name && repo->ident_email) |
|
|
0 |
0 |
if (repo->ident_name && repo->ident_email) |
|
437
|
69 |
0 |
if(((error = refs_configured_ident(&who, repo)) < 0) && |
|
|
7 |
62 |
if(((error = refs_configured_ident(&who, repo)) < 0) && |
|
438
|
0 |
7 |
((error = git_signature_default(&who, repo)) < 0) && |
|
459
|
0 |
41 |
assert(id); |
|
461
|
0 |
41 |
if ((error = git_reference__log_signature(&who, repo)) < 0) |
|
494
|
0 |
23 |
assert(target); |
|
496
|
0 |
23 |
if ((error = git_reference__log_signature(&who, repo)) < 0) |
|
519
|
27 |
0 |
if (ref->type == GIT_REFERENCE_DIRECT) |
|
535
|
1 |
0 |
assert(out && ref && id); |
|
|
1 |
0 |
assert(out && ref && id); |
|
|
0 |
1 |
assert(out && ref && id); |
|
539
|
0 |
1 |
if ((error = ensure_is_an_updatable_direct_reference(ref)) < 0) |
|
547
|
0 |
0 |
if (ref->type == GIT_REFERENCE_SYMBOLIC) |
|
562
|
0 |
0 |
assert(out && ref && target); |
|
|
0 |
0 |
assert(out && ref && target); |
|
|
0 |
0 |
assert(out && ref && target); |
|
564
|
0 |
0 |
if ((error = ensure_is_an_updatable_symbolic_reference(ref)) < 0) |
|
582
|
0 |
1 |
if ((error = git_reference_lookup(&head, worktree, GIT_HEAD_FILE)) < 0) |
|
590
|
0 |
0 |
if ((error = git_reference_symbolic_set_target(&updated, head, payload->new_name, NULL)) < 0) { |
|
613
|
1 |
0 |
assert(out && ref); |
|
|
0 |
1 |
assert(out && ref); |
|
617
|
1 |
0 |
if ((error = git_reference__log_signature(&signature, repo)) < 0 || |
|
|
1 |
0 |
if ((error = git_reference__log_signature(&signature, repo)) < 0 || |
|
618
|
1 |
0 |
(error = reference_normalize_for_repo(payload.new_name, repo, new_name, true)) < 0 || |
|
625
|
0 |
1 |
if ((error = git_repository_foreach_worktree(repo, refs_update_head, &payload)) < 0) |
|
657
|
0 |
0 |
if ((error = git_reference_iterator_new(&iter, repo)) < 0) |
|
660
|
0 |
0 |
while (!(error = git_reference_next(&ref, iter))) { |
|
661
|
0 |
0 |
if ((error = callback(ref, payload)) != 0) { |
|
667
|
0 |
0 |
if (error == GIT_ITEROVER) |
|
683
|
0 |
23 |
if ((error = git_reference_iterator_new(&iter, repo)) < 0) |
|
686
|
115 |
22 |
while (!(error = git_reference_next_name(&refname, iter))) { |
|
687
|
1 |
114 |
if ((error = callback(refname, payload)) != 0) { |
|
693
|
22 |
1 |
if (error == GIT_ITEROVER) |
|
710
|
0 |
0 |
if ((error = git_reference_iterator_glob_new(&iter, repo, glob)) < 0) |
|
713
|
0 |
0 |
while (!(error = git_reference_next_name(&refname, iter))) { |
|
714
|
0 |
0 |
if ((error = callback(refname, payload)) != 0) { |
|
720
|
0 |
0 |
if (error == GIT_ITEROVER) |
|
731
|
0 |
29 |
if (git_repository_refdb__weakptr(&refdb, repo) < 0) |
|
742
|
0 |
3 |
if (git_repository_refdb__weakptr(&refdb, repo) < 0) |
|
760
|
0 |
32 |
if (iter == NULL) |
|
769
|
0 |
2 |
GIT_ERROR_CHECK_ALLOC(name); |
|
779
|
4 |
0 |
assert(array && repo); |
|
|
0 |
4 |
assert(array && repo); |
|
784
|
0 |
4 |
if (git_vector_init(&ref_list, 8, NULL) < 0) |
|
787
|
0 |
4 |
if (git_reference_foreach_name( |
|
800
|
0 |
16889 |
if ((unsigned) ch <= ' ') |
|
803
|
0 |
16889 |
switch (ch) { |
|
823
|
0 |
2977 |
if (*current == '.') |
|
827
|
18556 |
1310 |
if (*current == '\0' || *current == '/') |
|
|
16889 |
1667 |
if (*current == '\0' || *current == '/') |
|
830
|
0 |
16889 |
if (!is_valid_ref_char(*current)) |
|
833
|
36 |
16853 |
if (prev == '.' && *current == '.') |
|
|
0 |
36 |
if (prev == '.' && *current == '.') |
|
836
|
0 |
16889 |
if (prev == '@' && *current == '{') |
|
|
0 |
0 |
if (prev == '@' && *current == '{') |
|
839
|
26 |
16863 |
if (*current == '*') { |
|
840
|
0 |
26 |
if (!may_contain_glob) |
|
851
|
1406 |
1571 |
if (segment_len >= lock_len && |
|
|
0 |
1406 |
if (segment_len >= lock_len && |
|
863
|
1310 |
0 |
assert(name && len > 0); |
|
|
0 |
1310 |
assert(name && len > 0); |
|
865
|
2705 |
465 |
for (i = 0; i < len; i++) |
|
868
|
2705 |
0 |
if ((c < 'A' || c > 'Z') && c != '_') |
|
|
845 |
1860 |
if ((c < 'A' || c > 'Z') && c != '_') |
|
|
845 |
0 |
if ((c < 'A' || c > 'Z') && c != '_') |
|
872
|
465 |
0 |
if (*name == '_' || name[len - 1] == '_') |
|
|
0 |
465 |
if (*name == '_' || name[len - 1] == '_') |
|
894
|
0 |
1310 |
assert(name); |
|
899
|
1310 |
0 |
if (validate && *current == '/') |
|
|
0 |
1310 |
if (validate && *current == '/') |
|
902
|
1115 |
195 |
if (normalize) |
|
915
|
0 |
1310 |
if (!validate) { |
|
918
|
0 |
0 |
error = git_buf_oom(buf) ? -1 : 0; |
|
926
|
0 |
2977 |
if (segment_len < 0) |
|
929
|
2977 |
0 |
if (segment_len > 0) { |
|
934
|
26 |
2951 |
if (memchr(current, '*', segment_len)) |
|
937
|
2389 |
588 |
if (normalize) { |
|
941
|
1274 |
1115 |
git_buf_truncate(buf, |
|
944
|
0 |
2389 |
if (git_buf_oom(buf)) { |
|
954
|
0 |
2977 |
if (segment_len == 0 && !normalize) |
|
|
0 |
0 |
if (segment_len == 0 && !normalize) |
|
957
|
1310 |
1667 |
if (current[segment_len] == '\0') |
|
964
|
0 |
1310 |
if (segment_len == 0 && segments_count == 0) |
|
|
0 |
0 |
if (segment_len == 0 && segments_count == 0) |
|
968
|
0 |
1310 |
if (current[segment_len - 1] == '.') |
|
972
|
0 |
1310 |
if (current[segment_len - 1] == '/') |
|
975
|
491 |
819 |
if ((segments_count == 1 ) && !(flags & GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL)) |
|
|
0 |
491 |
if ((segments_count == 1 ) && !(flags & GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL)) |
|
978
|
491 |
819 |
if ((segments_count == 1 ) && |
|
|
491 |
0 |
if ((segments_count == 1 ) && |
|
979
|
26 |
465 |
!(flags & GIT_REFERENCE_FORMAT_REFSPEC_SHORTHAND) && |
|
980
|
0 |
26 |
!(is_all_caps_and_underscore(name, (size_t)segment_len) || |
|
981
|
0 |
0 |
((flags & GIT_REFERENCE_FORMAT_REFSPEC_PATTERN) && !strcmp("*", name)))) |
|
984
|
819 |
465 |
if ((segments_count > 1) |
|
985
|
0 |
819 |
&& (is_all_caps_and_underscore(name, strchr(name, '/') - name))) |
|
991
|
26 |
1284 |
if (error == GIT_EINVALIDSPEC) |
|
996
|
26 |
1284 |
if (error && normalize) |
|
|
10 |
16 |
if (error && normalize) |
|
1015
|
10 |
1104 |
if ((error = git_reference__normalize_name(&buf, name, flags)) < 0) |
|
1018
|
0 |
1104 |
if (git_buf_len(&buf) > buffer_size - 1) { |
|
1042
|
0 |
0 |
assert(ref1 && ref2); |
|
|
0 |
0 |
assert(ref1 && ref2); |
|
1048
|
0 |
0 |
if (type1 != type2) |
|
1049
|
0 |
0 |
return (type1 == GIT_REFERENCE_SYMBOLIC) ? -1 : 1; |
|
1051
|
0 |
0 |
if (type1 == GIT_REFERENCE_SYMBOLIC) |
|
1075
|
2 |
7 |
if (!sig && (error = git_reference__log_signature(&who, repo)) < 0) |
|
|
0 |
2 |
if (!sig && (error = git_reference__log_signature(&who, repo)) < 0) |
|
1078
|
7 |
2 |
to_use = sig ? sig : who; |
|
1080
|
0 |
9 |
if ((error = git_repository_refdb__weakptr(&refdb, repo)) < 0) |
|
1083
|
1 |
8 |
if ((error = git_refdb_resolve(&ref, refdb, ref_name, -1)) < 0) { |
|
1084
|
1 |
0 |
if (error == GIT_ENOTFOUND) { |
|
1093
|
3 |
5 |
if (git_reference_type(ref) == GIT_REFERENCE_SYMBOLIC) { |
|
1112
|
1 |
32 |
if (count >= 2) |
|
1114
|
4 |
28 |
else if (count == 0) |
|
1133
|
33 |
0 |
if ((error = git_commit_lookup(&commit, repo, id)) < 0 || |
|
|
33 |
0 |
if ((error = git_commit_lookup(&commit, repo, id)) < 0 || |
|
1134
|
33 |
0 |
(error = git_buf_printf(&reflog_msg, "%s%s: %s", |
|
1142
|
26 |
7 |
if (ref) { |
|
1143
|
0 |
26 |
if ((error = ensure_is_an_updatable_direct_reference(ref)) < 0) |
|
1165
|
0 |
0 |
assert(repo && refname); |
|
|
0 |
0 |
assert(repo && refname); |
|
1167
|
0 |
0 |
if ((error = git_repository_refdb__weakptr(&refdb, repo)) < 0) |
|
1178
|
6 |
0 |
assert(repo && refname); |
|
|
0 |
6 |
assert(repo && refname); |
|
1180
|
0 |
6 |
if ((error = git_repository_refdb__weakptr(&refdb, repo)) < 0) |
|
1193
|
0 |
64 |
assert(ref); |
|
1204
|
0 |
7 |
assert(ref); |
|
1215
|
0 |
7 |
assert(ref); |
|
1226
|
0 |
7 |
assert(ref); |
|
1248
|
0 |
210 |
assert(ref); |
|
1250
|
200 |
10 |
if (ref->type == GIT_REFERENCE_DIRECT) { |
|
1253
|
0 |
10 |
if ((error = git_reference_resolve(&allocated, ref)) < 0) |
|
1265
|
210 |
0 |
if (target_type != GIT_OBJECT_TAG && !git_oid_is_zero(&resolved->peel)) { |
|
|
0 |
210 |
if (target_type != GIT_OBJECT_TAG && !git_oid_is_zero(&resolved->peel)) { |
|
1273
|
0 |
210 |
if (error < 0) { |
|
1278
|
0 |
210 |
if (target_type == GIT_OBJECT_ANY && git_object_type(target) != GIT_OBJECT_TAG) |
|
|
0 |
0 |
if (target_type == GIT_OBJECT_ANY && git_object_type(target) != GIT_OBJECT_TAG) |
|
1292
|
16 |
179 |
if (git_reference__normalize_name(NULL, refname, flags) < 0) { |
|
1307
|
41 |
1 |
if (!git__prefixcmp(name, GIT_REFS_HEADS_DIR)) |
|
1309
|
0 |
1 |
else if (!git__prefixcmp(name, GIT_REFS_TAGS_DIR)) |
|
1311
|
0 |
1 |
else if (!git__prefixcmp(name, GIT_REFS_REMOTES_DIR)) |
|
1313
|
1 |
0 |
else if (!git__prefixcmp(name, GIT_REFS_DIR)) |
|
1329
|
5 |
0 |
assert(unborn && ref && repo); |
|
|
5 |
0 |
assert(unborn && ref && repo); |
|
|
0 |
5 |
assert(unborn && ref && repo); |
|
1331
|
0 |
5 |
if (ref->type == GIT_REFERENCE_DIRECT) { |
|
1339
|
0 |
5 |
if (error != 0 && error != GIT_ENOTFOUND) |
|
|
0 |
0 |
if (error != 0 && error != GIT_ENOTFOUND) |
|
1341
|
0 |
5 |
else if (error == GIT_ENOTFOUND && git__strcmp(ref->name, GIT_HEAD_FILE) == 0) |
|
|
0 |
0 |
else if (error == GIT_ENOTFOUND && git__strcmp(ref->name, GIT_HEAD_FILE) == 0) |