line |
true |
false |
branch |
82
|
0 |
1825 |
if (git_str_joinpath(out, base, refname) < 0) |
97
|
77 |
163 |
base = (strcmp(refname, GIT_HEAD_FILE) == 0) ? repo->gitdir : |
100
|
0 |
240 |
if ((error = git_str_joinpath(out, base, GIT_REFLOG_DIR)) < 0) |
118
|
0 |
333 |
if (!backend->gitpath) |
129
|
333 |
0 |
if (error <= 0) { |
130
|
333 |
0 |
if (error == GIT_ENOTFOUND) { |
146
|
0 |
0 |
if (!scan) |
149
|
0 |
0 |
while (scan < eof && *scan == '#') { |
|
0 |
0 |
while (scan < eof && *scan == '#') { |
150
|
0 |
0 |
if (!(eol = strchr(scan, '\n'))) |
155
|
0 |
0 |
while (scan < eof) { |
161
|
0 |
0 |
if (git_oid_fromstr(&oid, scan) < 0) |
165
|
0 |
0 |
if (*scan++ != ' ') |
167
|
0 |
0 |
if (!(eol = strchr(scan, '\n'))) |
170
|
0 |
0 |
if (eol[-1] == '\r') |
173
|
0 |
0 |
if (git_sortedcache_upsert((void **)&ref, backend->refcache, scan) < 0) |
181
|
0 |
0 |
if (*scan == '^') { |
182
|
0 |
0 |
if (git_oid_fromstr(&oid, scan + 1) < 0) |
186
|
0 |
0 |
if (scan < eof) { |
187
|
0 |
0 |
if (!(eol = strchr(scan, '\n'))) |
195
|
0 |
0 |
else if (backend->peeling_mode == PEELING_FULL || |
|
0 |
0 |
else if (backend->peeling_mode == PEELING_FULL || |
196
|
0 |
0 |
(backend->peeling_mode == PEELING_STANDARD && |
221
|
0 |
787 |
if (git_str_len(file_content) < GIT_OID_HEXSZ) |
225
|
0 |
787 |
if (git_oid_fromstr(oid, str) < 0) |
230
|
787 |
0 |
if (*str == '\0' || git__isspace(*str)) |
|
787 |
0 |
if (*str == '\0' || git__isspace(*str)) |
242
|
1437 |
0 |
if ((error = loose_path(buf, base, path)) < 0 || |
|
166 |
1271 |
if ((error = loose_path(buf, base, path)) < 0 || |
259
|
0 |
0 |
if (loose_readbuffer(&ref_file, backend->gitpath, name) < 0) { |
265
|
0 |
0 |
if (!git__prefixcmp(git_str_cstr(&ref_file), GIT_SYMREF)) |
269
|
0 |
0 |
if ((error = loose_parse_oid(&oid, name, &ref_file)) < 0) |
272
|
0 |
0 |
if ((error = git_sortedcache_wlock(backend->refcache)) < 0) |
275
|
0 |
0 |
if (!(error = git_sortedcache_upsert( |
294
|
0 |
0 |
if (git__suffixcmp(full_path->ptr, ".lock") == 0) |
297
|
0 |
0 |
if (git_fs_path_isdir(full_path->ptr)) { |
301
|
0 |
0 |
if (error == GIT_ENOTFOUND) { |
325
|
0 |
0 |
if (git_str_joinpath(&refs_path, backend->gitpath, GIT_REFS_DIR) < 0) |
350
|
0 |
30 |
GIT_ASSERT_ARG(backend); |
354
|
0 |
30 |
if ((error = loose_path(&ref_path, backend->gitpath, ref_name)) < 0) |
357
|
2 |
28 |
if (git_fs_path_isfile(ref_path.ptr)) { |
362
|
0 |
28 |
if ((error = packed_reload(backend)) < 0) |
365
|
0 |
28 |
if (git_sortedcache_lookup(backend->refcache, ref_name) != NULL) { |
382
|
0 |
484 |
if (git_str_len(file_content) < header_len + 1) { |
418
|
1334 |
103 |
if (out) |
421
|
530 |
907 |
if (is_per_worktree_ref(ref_name)) |
426
|
1271 |
166 |
if ((error = loose_readbuffer(&ref_file, ref_dir, ref_name)) < 0) |
428
|
484 |
787 |
else if (git__prefixcmp(git_str_cstr(&ref_file), GIT_SYMREF) == 0) { |
433
|
0 |
484 |
if (!(target = loose_parse_symbolic(&ref_file))) |
435
|
484 |
0 |
else if (out != NULL) |
440
|
787 |
0 |
if (!(error = loose_parse_oid(&oid, ref_name, &ref_file)) && |
|
684 |
103 |
if (!(error = loose_parse_oid(&oid, ref_name, &ref_file)) && |
464
|
0 |
0 |
if (git__prefixncmp(data, data_sz, traits_header) == 0) { |
474
|
0 |
0 |
if (!eol) |
477
|
0 |
0 |
if (git__memmem(data, eol - data, fully_peeled, strlen(fully_peeled))) |
479
|
0 |
0 |
else if (git__memmem(data, eol - data, peeled, strlen(peeled))) |
491
|
0 |
217 |
if (backend->packed_refs_map.data) { |
509
|
0 |
166 |
if ((error = git_mutex_lock(&backend->prlock)) < 0) |
521
|
166 |
0 |
if (fd < 0) { |
523
|
166 |
0 |
if (fd == GIT_ENOTFOUND) { |
530
|
0 |
0 |
if (p_fstat(fd, &st) < 0) { |
537
|
0 |
0 |
if (st.st_size == 0) { |
563
|
0 |
0 |
if (error < 0) { |
586
|
0 |
0 |
if (!nl) |
589
|
0 |
0 |
if (nl[1] == '^' && nl > buf) |
|
0 |
0 |
if (nl[1] == '^' && nl > buf) |
607
|
0 |
0 |
if (!p) |
610
|
0 |
0 |
if (p < end && p[0] == '^') |
|
0 |
0 |
if (p < end && p[0] == '^') |
626
|
0 |
0 |
if (data_end < GIT_OID_HEXSZ + 3) { |
633
|
0 |
0 |
if (end) |
638
|
0 |
0 |
if (cmp_val == 0 && data_end != ref_len) |
|
0 |
0 |
if (cmp_val == 0 && data_end != ref_len) |
639
|
0 |
0 |
return (data_end > ref_len) ? 1 : -1; |
651
|
0 |
166 |
if ((error = packed_reload(backend)) < 0) |
654
|
0 |
166 |
if (git_sortedcache_rlock(backend->refcache) < 0) |
658
|
166 |
0 |
if (!entry) { |
662
|
0 |
0 |
if (!*out) |
679
|
0 |
166 |
if ((error = packed_map_check(backend)) < 0) |
682
|
166 |
0 |
if (!backend->sorted) |
689
|
0 |
0 |
while (left < right && *left == '#') { |
|
0 |
0 |
while (left < right && *left == '#') { |
690
|
0 |
0 |
if (!(left = memchr(left, '\n', data_end - left))) |
695
|
0 |
0 |
while (left < right) { |
703
|
0 |
0 |
if (compare < 0) { |
705
|
0 |
0 |
} else if (compare > 0) { |
716
|
0 |
0 |
if (!(eol = memchr(rec, '\n', data_end - rec))) { |
722
|
0 |
0 |
if (eol + 1 < data_end) { |
725
|
0 |
0 |
if (*rec == '^') { |
736
|
0 |
0 |
if (!*out) { |
758
|
0 |
1323 |
GIT_ASSERT_ARG(backend); |
760
|
1157 |
166 |
if (!(error = loose_lookup(out, backend, ref_name))) |
765
|
166 |
0 |
if (error == GIT_ENOTFOUND) { |
805
|
0 |
31 |
if (!backend->commonpath) /* do nothing if no commonpath for loose refs */ |
810
|
3 |
28 |
if (iter->glob) { |
813
|
57 |
0 |
for (pos = iter->glob; *pos; ++pos) { |
828
|
3 |
0 |
if (last_sep) { |
834
|
31 |
0 |
if ((error = git_str_puts(&path, backend->commonpath)) < 0 || |
|
0 |
31 |
if ((error = git_str_puts(&path, backend->commonpath)) < 0 || |
840
|
2 |
29 |
if ((error = git_iterator_for_filesystem(&fsit, path.ptr, &fsit_opts)) < 0) { |
842
|
2 |
0 |
return (iter->glob && error == GIT_ENOTFOUND)? 0 : error; |
|
0 |
2 |
return (iter->glob && error == GIT_ENOTFOUND)? 0 : error; |
847
|
143 |
0 |
while (!error && !git_iterator_advance(&entry, fsit)) { |
|
114 |
29 |
while (!error && !git_iterator_advance(&entry, fsit)) { |
855
|
114 |
0 |
if (git__suffixcmp(ref_name, ".lock") == 0 || |
|
1 |
113 |
if (git__suffixcmp(ref_name, ".lock") == 0 || |
856
|
0 |
1 |
(iter->glob && wildmatch(iter->glob, ref_name, 0) != 0)) |
860
|
0 |
114 |
if (!ref_dup) |
880
|
11 |
8 |
while (iter->loose_pos < iter->loose.length) { |
883
|
11 |
0 |
if (loose_lookup(out, backend, path) == 0) { |
885
|
0 |
11 |
if (ref) |
895
|
0 |
8 |
while (iter->packed_pos < git_sortedcache_entrycount(iter->cache)) { |
897
|
0 |
0 |
if (!ref) /* stop now if another thread deleted refs and we past end */ |
900
|
0 |
0 |
if (ref->flags & PACKREF_SHADOWED) |
902
|
0 |
0 |
if (iter->glob && wildmatch(iter->glob, ref->name, 0) != 0) |
|
0 |
0 |
if (iter->glob && wildmatch(iter->glob, ref->name, 0) != 0) |
906
|
0 |
0 |
error = (*out != NULL) ? 0 : -1; |
921
|
103 |
22 |
while (iter->loose_pos < iter->loose.length) { |
925
|
103 |
0 |
if (loose_lookup(NULL, backend, path) == 0) { |
927
|
0 |
103 |
if (ref) |
938
|
0 |
22 |
while (iter->packed_pos < git_sortedcache_entrycount(iter->cache)) { |
940
|
0 |
0 |
if (!ref) /* stop now if another thread deleted refs and we past end */ |
943
|
0 |
0 |
if (ref->flags & PACKREF_SHADOWED) |
945
|
0 |
0 |
if (iter->glob && wildmatch(iter->glob, ref->name, 0) != 0) |
|
0 |
0 |
if (iter->glob && wildmatch(iter->glob, ref->name, 0) != 0) |
963
|
0 |
31 |
GIT_ASSERT_ARG(backend); |
966
|
0 |
31 |
GIT_ERROR_CHECK_ALLOC(iter); |
968
|
0 |
31 |
if ((error = git_pool_init(&iter->pool, 1)) < 0) |
971
|
0 |
31 |
if ((error = git_vector_init(&iter->loose, 8, NULL)) < 0) |
980
|
0 |
31 |
if ((error = iter_load_loose_paths(backend, iter)) < 0) |
983
|
0 |
31 |
if ((error = packed_reload(backend)) < 0) |
986
|
0 |
31 |
if ((error = git_sortedcache_copy(&iter->cache, backend->refcache, 1, NULL, NULL)) < 0) |
995
|
0 |
31 |
if (error) |
1003
|
0 |
0 |
if (old_ref == NULL || strcmp(old_ref, this_ref)) { |
|
0 |
0 |
if (old_ref == NULL || strcmp(old_ref, this_ref)) { |
1007
|
0 |
0 |
const char *lead = reflen < newlen ? new_ref : this_ref; |
1009
|
0 |
0 |
if (!strncmp(new_ref, this_ref, cmplen) && lead[cmplen] == '/') { |
|
0 |
0 |
if (!strncmp(new_ref, this_ref, cmplen) && lead[cmplen] == '/') { |
1026
|
0 |
100 |
if ((error = packed_reload(backend)) < 0) |
1029
|
30 |
70 |
if (!force) { |
1032
|
0 |
30 |
if ((error = refdb_fs_backend__exists( |
1037
|
2 |
28 |
if (exists) { |
1045
|
0 |
98 |
if ((error = git_sortedcache_rlock(backend->refcache)) < 0) |
1048
|
0 |
98 |
for (i = 0; i < git_sortedcache_entrycount(backend->refcache); ++i) { |
1051
|
0 |
0 |
if (ref && !ref_is_available(old_ref, new_ref, ref->name)) { |
|
0 |
0 |
if (ref && !ref_is_available(old_ref, new_ref, ref->name)) { |
1069
|
0 |
108 |
GIT_ASSERT_ARG(file); |
1070
|
0 |
108 |
GIT_ASSERT_ARG(backend); |
1071
|
0 |
108 |
GIT_ASSERT_ARG(name); |
1073
|
0 |
108 |
if (!git_path_is_valid(backend->repo, name, 0, GIT_FS_PATH_REJECT_FILESYSTEM_DEFAULTS)) { |
1078
|
27 |
81 |
if (is_per_worktree_ref(name)) |
1086
|
0 |
108 |
if ((error = git_futils_rmdir_r(name, basedir, GIT_RMDIR_SKIP_NONEMPTY)) < 0) |
1089
|
0 |
108 |
if ((error = loose_path(&ref_path, basedir, name)) < 0) |
1093
|
0 |
108 |
if (backend->fsync) |
1098
|
0 |
108 |
if (error == GIT_EDIRECTORY) |
1107
|
0 |
93 |
GIT_ASSERT_ARG(file); |
1108
|
0 |
93 |
GIT_ASSERT_ARG(ref); |
1110
|
73 |
20 |
if (ref->type == GIT_REFERENCE_DIRECT) { |
1115
|
20 |
0 |
} else if (ref->type == GIT_REFERENCE_SYMBOLIC) { |
1131
|
0 |
3 |
GIT_ERROR_CHECK_ALLOC(lock); |
1133
|
0 |
3 |
if ((error = loose_lock(lock, backend, refname)) < 0) { |
1165
|
1 |
2 |
if (success == 2) |
1167
|
2 |
0 |
else if (success) |
1188
|
0 |
0 |
if (ref->flags & PACKREF_HAS_PEEL || ref->flags & PACKREF_CANNOT_PEEL) |
|
0 |
0 |
if (ref->flags & PACKREF_HAS_PEEL || ref->flags & PACKREF_CANNOT_PEEL) |
1194
|
0 |
0 |
if (git_object_lookup(&object, backend->repo, &ref->oid, GIT_OBJECT_ANY) < 0) |
1202
|
0 |
0 |
if (git_object_type(object) == GIT_OBJECT_TAG) { |
1240
|
0 |
0 |
if (ref->flags & PACKREF_HAS_PEEL) { |
1244
|
0 |
0 |
if (git_filebuf_printf(file, "%s %s\n^%s\n", oid, ref->name, peel) < 0) |
1247
|
0 |
0 |
if (git_filebuf_printf(file, "%s %s\n", oid, ref->name) < 0) |
1274
|
0 |
0 |
for (i = 0; i < git_sortedcache_entrycount(backend->refcache); ++i) { |
1278
|
0 |
0 |
if (!ref || !(ref->flags & PACKREF_WAS_LOOSE)) |
|
0 |
0 |
if (!ref || !(ref->flags & PACKREF_WAS_LOOSE)) |
1286
|
0 |
0 |
if (error == GIT_EEXISTS || error == GIT_ENOTFOUND) |
|
0 |
0 |
if (error == GIT_EEXISTS || error == GIT_ENOTFOUND) |
1289
|
0 |
0 |
if (error < 0) { |
1297
|
0 |
0 |
if (error == GIT_ENOTFOUND) |
1301
|
0 |
0 |
if (!git__prefixcmp(ref_content.ptr, GIT_SYMREF)) |
1305
|
0 |
0 |
if (loose_parse_oid(¤t_id, lock.path_original, &ref_content) < 0) |
1309
|
0 |
0 |
if (!git_oid_equal(¤t_id, &ref->oid)) |
1337
|
0 |
0 |
if ((error = git_mutex_lock(&backend->prlock)) < 0) { |
1346
|
0 |
0 |
if ((error = git_sortedcache_wlock(refcache)) < 0) |
1349
|
0 |
0 |
if (backend->fsync) |
1353
|
0 |
0 |
if ((error = git_filebuf_open(&pack_file, git_sortedcache_path(refcache), open_flags, GIT_PACKEDREFS_FILE_MODE)) < 0) |
1359
|
0 |
0 |
if ((error = git_filebuf_printf(&pack_file, "%s\n", GIT_PACKEDREFS_HEADER)) < 0) |
1362
|
0 |
0 |
for (i = 0; i < git_sortedcache_entrycount(refcache); ++i) { |
1365
|
0 |
0 |
GIT_ASSERT_WITH_CLEANUP(ref, { |
1370
|
0 |
0 |
if ((error = packed_find_peel(backend, ref)) < 0) |
1373
|
0 |
0 |
if ((error = packed_write_ref(ref, &pack_file)) < 0) |
1379
|
0 |
0 |
if ((error = git_filebuf_commit(&pack_file)) < 0) |
1384
|
0 |
0 |
if ((error = packed_remove_loose(backend)) < 0) |
1405
|
0 |
8 |
if ((error = packed_reload(backend)) < 0) |
1408
|
0 |
8 |
if ((error = git_sortedcache_wlock(backend->refcache)) < 0) |
1413
|
0 |
8 |
if (error == 0) { |
1417
|
8 |
0 |
if (error == GIT_ENOTFOUND) |
1422
|
0 |
8 |
if (found) |
1439
|
93 |
113 |
if (!old_id && !old_target) |
|
69 |
24 |
if (!old_id && !old_target) |
1442
|
31 |
106 |
if ((error = refdb_fs_backend__lookup(&old_ref, backend, name)) < 0) { |
1443
|
31 |
0 |
if (error == GIT_ENOTFOUND && old_id && git_oid_is_zero(old_id)) |
|
29 |
2 |
if (error == GIT_ENOTFOUND && old_id && git_oid_is_zero(old_id)) |
|
0 |
29 |
if (error == GIT_ENOTFOUND && old_id && git_oid_is_zero(old_id)) |
1449
|
84 |
22 |
if (old_id && old_ref->type != GIT_REFERENCE_DIRECT) { |
|
2 |
82 |
if (old_id && old_ref->type != GIT_REFERENCE_DIRECT) { |
1453
|
22 |
82 |
if (old_target && old_ref->type != GIT_REFERENCE_SYMBOLIC) { |
|
1 |
21 |
if (old_target && old_ref->type != GIT_REFERENCE_SYMBOLIC) { |
1458
|
82 |
21 |
if (old_id && old_ref->type == GIT_REFERENCE_DIRECT) |
|
82 |
0 |
if (old_id && old_ref->type == GIT_REFERENCE_DIRECT) |
1461
|
21 |
82 |
if (old_target && old_ref->type == GIT_REFERENCE_SYMBOLIC) |
|
21 |
0 |
if (old_target && old_ref->type == GIT_REFERENCE_SYMBOLIC) |
1491
|
80 |
0 |
if ((error = git_repository_refdb(&refdb, backend->repo)) < 0 || |
|
80 |
0 |
if ((error = git_repository_refdb(&refdb, backend->repo)) < 0 || |
1494
|
50 |
30 |
if (!write_reflog) |
1498
|
3 |
27 |
if (git_reference_name_to_id(&old_id, backend->repo, ref->name) < 0) |
1501
|
30 |
0 |
if ((error = git_reference_lookup(&head, backend->repo, GIT_HEAD_FILE)) < 0 || |
1524
|
0 |
99 |
GIT_ASSERT_ARG(backend); |
1526
|
2 |
97 |
if ((error = reference_path_available(backend, ref->name, NULL, force)) < 0) |
1530
|
0 |
97 |
if ((error = loose_lock(&file, backend, ref->name)) < 0) |
1551
|
0 |
99 |
if ((error = cmp_old_ref(&cmp, _backend, ref->name, old_id, old_target)) < 0) |
1554
|
0 |
99 |
if (cmp) { |
1560
|
22 |
77 |
if (ref->type == GIT_REFERENCE_SYMBOLIC) |
1566
|
31 |
68 |
if (error < 0 && error != GIT_ENOTFOUND) |
|
0 |
31 |
if (error < 0 && error != GIT_ENOTFOUND) |
1570
|
68 |
31 |
if (!error && !cmp) { |
|
7 |
61 |
if (!error && !cmp) { |
1575
|
90 |
2 |
if (update_reflog) { |
1578
|
90 |
0 |
if ((error = git_repository_refdb__weakptr(&refdb, backend->repo)) < 0 || |
|
90 |
0 |
if ((error = git_repository_refdb__weakptr(&refdb, backend->repo)) < 0 || |
1582
|
80 |
10 |
if (should_write) { |
1583
|
0 |
80 |
if ((error = reflog_append(backend, ref, NULL, NULL, who, message)) < 0) |
1585
|
0 |
80 |
if ((error = maybe_append_head(backend, ref, who, message)) < 0) |
1607
|
0 |
11 |
GIT_ASSERT_ARG(backend); |
1608
|
0 |
11 |
GIT_ASSERT_ARG(ref_name); |
1610
|
0 |
11 |
if ((error = git_str_sets(&relative_path, ref_name)) < 0) |
1614
|
6 |
5 |
if ((commonlen = git_fs_path_common_dirlen("refs/heads/", git_str_cstr(&relative_path))) == strlen("refs/heads/") || |
|
4 |
2 |
if ((commonlen = git_fs_path_common_dirlen("refs/heads/", git_str_cstr(&relative_path))) == strlen("refs/heads/") || |
1615
|
0 |
4 |
(commonlen = git_fs_path_common_dirlen("refs/tags/", git_str_cstr(&relative_path))) == strlen("refs/tags/") || |
1620
|
7 |
0 |
if (prefix) |
1629
|
7 |
0 |
if (!error) |
1632
|
0 |
7 |
if (error < 0) |
1639
|
0 |
7 |
if (error == GIT_ENOTFOUND) |
1658
|
0 |
7 |
GIT_ASSERT_ARG(backend); |
1659
|
0 |
7 |
GIT_ASSERT_ARG(ref_name); |
1661
|
0 |
7 |
if ((error = loose_lock(&file, backend, ref_name)) < 0) |
1664
|
0 |
7 |
if ((error = refdb_reflog_fs__delete(_backend, ref_name)) < 0) { |
1677
|
0 |
8 |
if ((error = loose_path(&path, backend->commonpath, ref_name)) < 0) |
1681
|
0 |
8 |
if (error < 0 && errno == ENOENT) |
|
0 |
0 |
if (error < 0 && errno == ENOENT) |
1683
|
0 |
8 |
else if (error != 0) |
1702
|
0 |
8 |
if (error < 0) |
1705
|
0 |
8 |
if (cmp) { |
1728
|
0 |
8 |
if ((error = packed_delete(backend, ref_name)) < 0 && error != GIT_ENOTFOUND) |
|
0 |
0 |
if ((error = packed_delete(backend, ref_name)) < 0 && error != GIT_ENOTFOUND) |
1731
|
8 |
0 |
if (error == 0) |
1734
|
0 |
8 |
if ((error = loose_delete(backend, ref_name)) < 0 && error != GIT_ENOTFOUND) |
|
0 |
0 |
if ((error = loose_delete(backend, ref_name)) < 0 && error != GIT_ENOTFOUND) |
1737
|
0 |
8 |
if (error == GIT_ENOTFOUND) { |
1738
|
0 |
0 |
error = packed_deleted ? 0 : ref_error_notfound(ref_name); |
1744
|
8 |
0 |
if (error == 0) |
1765
|
0 |
1 |
GIT_ASSERT_ARG(backend); |
1767
|
1 |
0 |
if ((error = reference_path_available( |
1768
|
0 |
1 |
backend, new_name, old_name, force)) < 0 || |
1772
|
0 |
1 |
if ((error = refdb_fs_backend__delete(_backend, old_name, NULL, NULL)) < 0) { |
1778
|
0 |
1 |
if (!new) { |
1783
|
0 |
1 |
if ((error = loose_lock(&file, backend, new->name)) < 0) { |
1790
|
1 |
0 |
if (((error == 0) || (error == GIT_ENOTFOUND)) && |
|
1 |
0 |
if (((error == 0) || (error == GIT_ENOTFOUND)) && |
|
0 |
1 |
if (((error == 0) || (error == GIT_ENOTFOUND)) && |
1797
|
0 |
1 |
if (error < 0) { |
1804
|
1 |
0 |
if ((error = loose_commit(&file, new)) < 0 || out == NULL) { |
|
0 |
1 |
if ((error = loose_commit(&file, new)) < 0 || out == NULL) { |
1818
|
0 |
0 |
GIT_ASSERT_ARG(backend); |
1820
|
0 |
0 |
if ((error = packed_reload(backend)) < 0 || /* load the existing packfile */ |
|
0 |
0 |
if ((error = packed_reload(backend)) < 0 || /* load the existing packfile */ |
1821
|
0 |
0 |
(error = packed_loadloose(backend)) < 0 || /* add all the loose refs */ |
1832
|
0 |
51 |
if (!backend) |
1852
|
0 |
108 |
if (!in) |
1858
|
108 |
0 |
if (repo->namespace == NULL) { |
1864
|
0 |
0 |
if (parts == NULL) |
1873
|
0 |
0 |
while ((start = git__strsep(&end, "/")) != NULL) |
1880
|
0 |
0 |
if (git_futils_mkdir_relative(git_str_cstr(&path), in, 0777, |
1901
|
0 |
20 |
GIT_ERROR_CHECK_ALLOC(log); |
1904
|
0 |
20 |
GIT_ERROR_CHECK_ALLOC(log->ref_name); |
1906
|
0 |
20 |
if (git_vector_init(&log->entries, 0, NULL) < 0) { |
1921
|
0 |
20 |
if ((git_parse_ctx_init(&parser, buf, buf_size)) < 0) |
1924
|
39 |
20 |
for (; parser.remain_len; git_parse_advance_line(&parser)) { |
1930
|
0 |
39 |
GIT_ERROR_CHECK_ALLOC(entry); |
1932
|
0 |
39 |
GIT_ERROR_CHECK_ALLOC(entry->committer); |
1935
|
39 |
0 |
git_parse_advance_expected(&parser, " ", 1) < 0 || |
1940
|
2145 |
0 |
while (git_parse_peek(&c, &parser, 0) == 0 && c != '\t' && c != '\n') |
|
2106 |
39 |
while (git_parse_peek(&c, &parser, 0) == 0 && c != '\t' && c != '\n') |
|
2106 |
0 |
while (git_parse_peek(&c, &parser, 0) == 0 && c != '\t' && c != '\n') |
1943
|
0 |
39 |
if (git_signature__parse(entry->committer, &sig, parser.line, NULL, 0) < 0) |
1946
|
39 |
0 |
if (c == '\t') { |
1951
|
39 |
0 |
if (parser.line[len - 1] == '\n') |
1955
|
0 |
39 |
GIT_ERROR_CHECK_ALLOC(entry->msg); |
1958
|
0 |
39 |
if ((git_vector_insert(&log->entries, entry)) < 0) { |
1976
|
0 |
7 |
if ((error = git_futils_mkpath2file(filepath, GIT_REFLOG_DIR_MODE)) < 0) |
1979
|
0 |
7 |
if ((fd = p_open(filepath, |
1994
|
6 |
0 |
GIT_ASSERT_ARG(_backend && name); |
|
0 |
6 |
GIT_ASSERT_ARG(_backend && name); |
1999
|
0 |
6 |
if ((error = reflog_path(&path, repo, name)) < 0) |
2013
|
0 |
88 |
if (reflog_path(&path, repo, name) < 0) |
2027
|
0 |
88 |
GIT_ASSERT_ARG(_backend); |
2028
|
0 |
88 |
GIT_ASSERT_ARG(name); |
2044
|
0 |
20 |
GIT_ASSERT_ARG(out); |
2045
|
0 |
20 |
GIT_ASSERT_ARG(_backend); |
2046
|
0 |
20 |
GIT_ASSERT_ARG(name); |
2051
|
0 |
20 |
if (reflog_alloc(&log, name) < 0) |
2054
|
0 |
20 |
if (reflog_path(&log_path, repo, name) < 0) |
2058
|
1 |
19 |
if (error < 0 && error != GIT_ENOTFOUND) |
|
0 |
1 |
if (error < 0 && error != GIT_ENOTFOUND) |
2061
|
1 |
19 |
if ((error == GIT_ENOTFOUND) && |
|
0 |
1 |
if ((error == GIT_ENOTFOUND) && |
2065
|
0 |
20 |
if ((error = reflog_parse(log, |
2106
|
114 |
7 |
if (msg) { |
2112
|
19145 |
114 |
for (i = 0; i < buf->size - 2; i++) |
2113
|
0 |
19145 |
if (buf->ptr[i] == '\n') |
2131
|
0 |
7 |
if (!git_path_is_valid(backend->repo, refname, 0, GIT_FS_PATH_REJECT_FILESYSTEM_DEFAULTS)) { |
2136
|
0 |
7 |
if (reflog_path(&log_path, repo, refname) < 0) |
2139
|
0 |
7 |
if (!git_fs_path_isfile(git_str_cstr(&log_path))) { |
2163
|
0 |
7 |
GIT_ASSERT_ARG(_backend); |
2164
|
0 |
7 |
GIT_ASSERT_ARG(reflog); |
2168
|
0 |
7 |
if ((error = lock_reflog(&fbuf, backend, reflog->ref_name)) < 0) |
2171
|
10 |
7 |
git_vector_foreach(&reflog->entries, i, entry) { |
2172
|
0 |
10 |
if (serialize_reflog_entry(&log, &(entry->oid_old), &(entry->oid_cur), entry->committer, entry->msg) < 0) |
2175
|
0 |
10 |
if ((error = git_filebuf_write(&fbuf, log.ptr, log.size)) < 0) |
2202
|
48 |
63 |
if (is_symbolic && |
|
0 |
48 |
if (is_symbolic && |
2203
|
0 |
0 |
strcmp(ref->name, GIT_HEAD_FILE) && |
2204
|
0 |
0 |
!(old && new)) |
2209
|
31 |
80 |
if (old) { |
2213
|
23 |
57 |
if (error < 0 && error != GIT_ENOTFOUND) |
|
0 |
23 |
if (error < 0 && error != GIT_ENOTFOUND) |
2217
|
30 |
81 |
if (new) { |
2220
|
63 |
18 |
if (!is_symbolic) { |
2224
|
0 |
18 |
if (error < 0 && error != GIT_ENOTFOUND) |
|
0 |
0 |
if (error < 0 && error != GIT_ENOTFOUND) |
2227
|
0 |
18 |
if (error == GIT_ENOTFOUND) |
2234
|
0 |
111 |
if ((error = serialize_reflog_entry(&buf, &old_id, &new_id, who, message)) < 0) |
2237
|
0 |
111 |
if ((error = reflog_path(&path, repo, ref->name)) < 0) |
2240
|
0 |
111 |
if (((error = git_futils_mkpath2file(git_str_cstr(&path), 0777)) < 0) && |
|
0 |
0 |
if (((error = git_futils_mkpath2file(git_str_cstr(&path), 0777)) < 0) && |
2248
|
0 |
111 |
if (git_fs_path_isdir(git_str_cstr(&path))) { |
2249
|
0 |
0 |
if ((error = git_futils_rmdir_r(git_str_cstr(&path), NULL, GIT_RMDIR_SKIP_NONEMPTY)) < 0) { |
2250
|
0 |
0 |
if (error == GIT_ENOTFOUND) |
2252
|
0 |
0 |
} else if (git_fs_path_isdir(git_str_cstr(&path))) { |
2258
|
0 |
0 |
if (error != 0) |
2264
|
0 |
111 |
if (backend->fsync) |
2286
|
0 |
1 |
GIT_ASSERT_ARG(_backend); |
2287
|
0 |
1 |
GIT_ASSERT_ARG(old_name); |
2288
|
0 |
1 |
GIT_ASSERT_ARG(new_name); |
2293
|
0 |
1 |
if ((error = git_reference__normalize_name( |
2297
|
0 |
1 |
if (git_str_joinpath(&temp_path, repo->gitdir, GIT_REFLOG_DIR) < 0) |
2300
|
0 |
1 |
if ((error = loose_path(&old_path, git_str_cstr(&temp_path), old_name)) < 0) |
2303
|
0 |
1 |
if ((error = loose_path(&new_path, git_str_cstr(&temp_path), git_str_cstr(&normalized))) < 0) |
2306
|
1 |
0 |
if (!git_fs_path_exists(git_str_cstr(&old_path))) { |
2318
|
0 |
0 |
if ((error = loose_path(&temp_path, git_str_cstr(&temp_path), "temp_reflog")) < 0) |
2321
|
0 |
0 |
if ((fd = git_futils_mktmp(&temp_path, git_str_cstr(&temp_path), GIT_REFLOG_FILE_MODE)) < 0) { |
2328
|
0 |
0 |
if (p_rename(git_str_cstr(&old_path), git_str_cstr(&temp_path)) < 0) { |
2340
|
0 |
0 |
if (git_futils_mkpath2file(git_str_cstr(&new_path), GIT_REFLOG_DIR_MODE) < 0) { |
2345
|
0 |
0 |
if (p_rename(git_str_cstr(&temp_path), git_str_cstr(&new_path)) < 0) { |
2365
|
0 |
8 |
GIT_ASSERT_ARG(_backend); |
2366
|
0 |
8 |
GIT_ASSERT_ARG(name); |
2368
|
0 |
8 |
if ((error = reflog_path(&path, backend->repo, name)) < 0) |
2371
|
5 |
3 |
if (!git_fs_path_exists(path.ptr)) |
2374
|
0 |
3 |
if ((error = p_unlink(path.ptr)) < 0) |
2394
|
0 |
54 |
GIT_ERROR_CHECK_ALLOC(backend); |
2395
|
0 |
54 |
if (git_mutex_init(&backend->prlock) < 0) { |
2401
|
0 |
54 |
if (git_refdb_init_backend(&backend->parent, GIT_REFDB_BACKEND_VERSION) < 0) |
2406
|
54 |
0 |
if (repository->gitdir) { |
2409
|
0 |
54 |
if (backend->gitpath == NULL) |
2413
|
54 |
0 |
if (repository->commondir) { |
2416
|
0 |
54 |
if (backend->commonpath == NULL) |
2428
|
54 |
0 |
if (!git_repository__configmap_lookup(&t, backend->repo, GIT_CONFIGMAP_IGNORECASE) && t) { |
|
0 |
54 |
if (!git_repository__configmap_lookup(&t, backend->repo, GIT_CONFIGMAP_IGNORECASE) && t) { |
2432
|
54 |
0 |
if (!git_repository__configmap_lookup(&t, backend->repo, GIT_CONFIGMAP_PRECOMPOSE) && t) { |
|
0 |
54 |
if (!git_repository__configmap_lookup(&t, backend->repo, GIT_CONFIGMAP_PRECOMPOSE) && t) { |
2436
|
54 |
0 |
if ((!git_repository__configmap_lookup(&t, backend->repo, GIT_CONFIGMAP_FSYNCOBJECTFILES) && t) || |
|
54 |
0 |
if ((!git_repository__configmap_lookup(&t, backend->repo, GIT_CONFIGMAP_FSYNCOBJECTFILES) && t) || |
|
0 |
54 |
if ((!git_repository__configmap_lookup(&t, backend->repo, GIT_CONFIGMAP_FSYNCOBJECTFILES) && t) || |