line |
true |
false |
branch |
31
|
3 |
750 |
if (ignore_case) |
36
|
3 |
750 |
iter->strcomp = ignore_case ? git__strcasecmp : git__strcmp; |
37
|
3 |
750 |
iter->strncomp = ignore_case ? git__strncasecmp : git__strncmp; |
38
|
3 |
750 |
iter->prefixcomp = ignore_case ? git__prefixcmp_icase : git__prefixcmp; |
39
|
3 |
750 |
iter->entry_srch = ignore_case ? git_index_entry_isrch : git_index_entry_srch; |
47
|
33 |
784 |
if (start && *start) { |
|
33 |
0 |
if (start && *start) { |
49
|
0 |
33 |
GIT_ERROR_CHECK_ALLOC(iter->start); |
54
|
33 |
784 |
if (end && *end) { |
|
33 |
0 |
if (end && *end) { |
56
|
0 |
33 |
GIT_ERROR_CHECK_ALLOC(iter->end); |
69
|
0 |
64 |
if (iter->start) { |
75
|
0 |
64 |
if (iter->end) { |
93
|
0 |
753 |
if (git_vector_init(&iter->pathlist, pathlist->count, NULL) < 0) |
96
|
98 |
753 |
for (i = 0; i < pathlist->count; i++) { |
97
|
0 |
98 |
if (!pathlist->strings[i]) |
100
|
0 |
98 |
if (git_vector_insert(&iter->pathlist, pathlist->strings[i]) < 0) |
114
|
736 |
17 |
git_iterator_options *options = given_opts ? given_opts : &default_opts; |
123
|
3 |
750 |
if ((iter->flags & GIT_ITERATOR_IGNORE_CASE) != 0) { |
125
|
421 |
329 |
} else if ((iter->flags & GIT_ITERATOR_DONT_IGNORE_CASE) != 0) { |
127
|
297 |
32 |
} else if (repo) { |
130
|
0 |
297 |
if ((error = git_repository_index__weakptr(&index, iter->repo)) < 0) |
135
|
0 |
297 |
if (ignore_case == 1) |
144
|
719 |
34 |
if (repo && |
|
719 |
0 |
if (repo && |
145
|
719 |
0 |
(iter->flags & GIT_ITERATOR_PRECOMPOSE_UNICODE) == 0 && |
148
|
0 |
719 |
if (git_repository__configmap_lookup(&precompose, repo, GIT_CONFIGMAP_PRECOMPOSE) < 0) |
150
|
0 |
719 |
else if (precompose) |
154
|
171 |
582 |
if ((iter->flags & GIT_ITERATOR_DONT_AUTOEXPAND)) |
157
|
753 |
0 |
if ((error = iterator_range_init(iter, options->start, options->end)) < 0 || |
|
0 |
753 |
if ((error = iterator_range_init(iter, options->start, options->end)) < 0 || |
179
|
26 |
1454 |
if (iter->start == NULL || iter->started == true) |
|
14 |
12 |
if (iter->start == NULL || iter->started == true) |
187
|
12 |
0 |
if (iter->started) |
196
|
0 |
0 |
if (is_submodule && iter->start_len && path_len == iter->start_len - 1 && |
|
0 |
0 |
if (is_submodule && iter->start_len && path_len == iter->start_len - 1 && |
|
0 |
0 |
if (is_submodule && iter->start_len && path_len == iter->start_len - 1 && |
|
0 |
0 |
if (is_submodule && iter->start_len && path_len == iter->start_len - 1 && |
204
|
0 |
0 |
if (path_len > 0 && path[path_len-1] == '/' && |
213
|
1454 |
26 |
if (iter->end == NULL) |
215
|
0 |
26 |
else if (iter->ended) |
231
|
1339 |
135 |
if (iter->pathlist.length == 0) |
239
|
135 |
0 |
if (path_len && path[path_len-1] == '/') |
|
6 |
129 |
if (path_len && path[path_len-1] == '/') |
242
|
115 |
81 |
for (i = iter->pathlist_walk_idx; i < iter->pathlist.length; i++) { |
246
|
115 |
0 |
if (p_len && p[p_len-1] == '/') |
|
0 |
115 |
if (p_len && p[p_len-1] == '/') |
257
|
80 |
35 |
if (cmp == 0) { |
263
|
74 |
6 |
if (p[cmp_len] == '\0' && |
|
24 |
50 |
if (p[cmp_len] == '\0' && |
264
|
0 |
24 |
(path[cmp_len] == '\0' || path[cmp_len] == '/')) |
271
|
0 |
30 |
if (p[cmp_len] == '/' && path[cmp_len] == '/') |
|
0 |
0 |
if (p[cmp_len] == '/' && path[cmp_len] == '/') |
276
|
31 |
4 |
else if (cmp < 0) { |
282
|
4 |
0 |
else if (cmp > 0) { |
305
|
0 |
145 |
if (iter->pathlist.length == 0) |
317
|
38 |
107 |
if (error == 0) { |
318
|
38 |
0 |
if (path_len && path[path_len-1] == '/') |
|
0 |
38 |
if (path_len && path[path_len-1] == '/') |
328
|
64 |
43 |
while ((p = git_vector_get(&iter->pathlist, idx)) != NULL) { |
329
|
47 |
17 |
if (iter->prefixcomp(p, path) != 0) |
333
|
0 |
17 |
assert(p[path_len]); |
336
|
8 |
9 |
if (p[path_len] == '/') { |
337
|
0 |
8 |
return (p[path_len+1] == '\0') ? |
342
|
9 |
0 |
if (p[path_len] > '/') |
357
|
17 |
0 |
if (e) |
406
|
0 |
17 |
GIT_ERROR_CHECK_ALLOC(iter); |
463
|
260 |
0 |
&iter->frames.ptr[iter->frames.size-2] : NULL; |
469
|
1691 |
278 |
return iter->frames.size ? &iter->frames.ptr[iter->frames.size-1] : NULL; |
475
|
8 |
0 |
return git_path_cmp( |
501
|
0 |
4 |
if (!c && a->parent_path != b->parent_path) |
|
0 |
0 |
if (!c && a->parent_path != b->parent_path) |
504
|
0 |
4 |
if (!c) |
516
|
455 |
698 |
if (entry->parent_path) |
521
|
526 |
627 |
if (git_tree_entry__is_tree(entry->tree_entry)) |
524
|
0 |
1153 |
if (git_buf_oom(out)) |
543
|
324 |
260 |
new_frame = git_array_alloc(iter->frames); |
|
260 |
0 |
new_frame = git_array_alloc(iter->frames); |
544
|
0 |
584 |
GIT_ERROR_CHECK_ALLOC(new_frame); |
546
|
0 |
584 |
if ((error = git_tree_dup(&dup, tree)) < 0) |
552
|
260 |
324 |
if (frame_entry && |
|
0 |
260 |
if (frame_entry && |
557
|
8 |
576 |
tree_iterator_entry_sort_icase : NULL; |
559
|
0 |
584 |
if ((error = git_vector_init(&new_frame->entries, |
563
|
986 |
584 |
git_array_foreach(dup->entries, i, tree_entry) { |
|
986 |
0 |
git_array_foreach(dup->entries, i, tree_entry) { |
564
|
0 |
986 |
if ((new_entry = git_pool_malloc(&iter->entry_pool, 1)) == NULL) { |
573
|
0 |
986 |
if ((error = git_vector_insert(&new_frame->entries, new_entry)) < 0) |
577
|
576 |
8 |
git_vector_set_sorted(&new_frame->entries, |
581
|
0 |
584 |
if (error < 0) { |
583
|
0 |
0 |
git_array_pop(iter->frames); |
608
|
0 |
4 |
while (parent_frame->next_idx < parent_frame->entries.length) { |
611
|
0 |
0 |
if (strcasecmp(filename, entry->tree_entry->filename) != 0) |
614
|
0 |
0 |
if ((error = git_tree_lookup(&tree, |
618
|
0 |
0 |
if (git_vector_insert(&parent_frame->similar_trees, tree) < 0) |
621
|
0 |
0 |
path = git_array_alloc(parent_frame->similar_paths); |
|
0 |
0 |
path = git_array_alloc(parent_frame->similar_paths); |
622
|
0 |
0 |
GIT_ERROR_CHECK_ALLOC(path); |
626
|
0 |
0 |
if ((error = tree_iterator_compute_path(path, entry)) < 0) |
629
|
0 |
0 |
GIT_ERROR_CHECK_ALLOC_ADD(&new_size, |
|
0 |
0 |
GIT_ERROR_CHECK_ALLOC_ADD(&new_size, |
633
|
0 |
0 |
git_array_foreach(tree->entries, i, tree_entry) { |
|
0 |
0 |
git_array_foreach(tree->entries, i, tree_entry) { |
635
|
0 |
0 |
GIT_ERROR_CHECK_ALLOC(new_entry); |
640
|
0 |
0 |
if ((error = git_vector_insert(&frame->entries, new_entry)) < 0) |
644
|
0 |
0 |
if (error) |
660
|
260 |
0 |
if ((error = git_tree_lookup(&tree, |
661
|
260 |
0 |
iter->base.repo, entry->tree_entry->oid)) < 0 || |
672
|
4 |
256 |
if (iterator__ignore_case(&iter->base)) |
688
|
0 |
584 |
assert(iter->frames.size); |
690
|
584 |
0 |
frame = git_array_pop(iter->frames); |
696
|
0 |
584 |
buf = git_array_pop(frame->similar_paths); |
698
|
0 |
584 |
} while (buf != NULL); |
702
|
0 |
584 |
git_vector_foreach(&frame->similar_trees, i, tree) |
715
|
280 |
0 |
if (!iterator__has_been_accessed(i)) |
718
|
0 |
0 |
if (!iter->frames.size) { |
756
|
278 |
1431 |
if ((frame = tree_iterator_current_frame(iter)) == NULL) { |
762
|
538 |
893 |
if (frame->next_idx == frame->entries.length) { |
770
|
544 |
349 |
if (frame->next_idx == 0 && !git_vector_is_sorted(&frame->entries)) |
|
6 |
538 |
if (frame->next_idx == 0 && !git_vector_is_sorted(&frame->entries)) |
781
|
10 |
883 |
if (iterator__ignore_case(&iter->base) && |
|
4 |
6 |
if (iterator__ignore_case(&iter->base) && |
782
|
0 |
4 |
prev_entry && |
786
|
0 |
893 |
if ((error = tree_iterator_compute_path(&iter->entry_path, entry)) < 0) |
790
|
0 |
893 |
if (!iterator_has_started(&iter->base, iter->entry_path.ptr, false)) |
794
|
6 |
887 |
if (iterator_has_ended(&iter->base, iter->entry_path.ptr)) { |
800
|
20 |
867 |
if (!iterator_pathlist_next_is(&iter->base, iter->entry_path.ptr)) |
806
|
260 |
607 |
if (is_tree && !iterator__include_trees(iter)) { |
|
260 |
0 |
if (is_tree && !iterator__include_trees(iter)) { |
812
|
260 |
0 |
if (iterator__do_autoexpand(iter)) { |
813
|
0 |
260 |
if ((error = tree_iterator_frame_push(iter, entry)) < 0) |
825
|
0 |
607 |
if (is_tree && iterator__do_autoexpand(iter)) |
|
0 |
0 |
if (is_tree && iterator__do_autoexpand(iter)) |
831
|
891 |
0 |
if (out) |
832
|
607 |
284 |
*out = (error == 0) ? &iter->entry : NULL; |
845
|
0 |
0 |
if (out) |
848
|
0 |
0 |
if ((frame = tree_iterator_current_frame(iter)) == NULL) |
858
|
0 |
0 |
assert(iterator__do_autoexpand(i) ^ (prev_entry != NULL)); |
860
|
0 |
0 |
if (prev_entry) { |
861
|
0 |
0 |
if (!git_tree_entry__is_tree(prev_entry->tree_entry)) |
864
|
0 |
0 |
if ((error = tree_iterator_frame_push(iter, prev_entry)) < 0) |
885
|
46 |
324 |
while (iter->frames.size) |
902
|
0 |
324 |
if ((error = tree_iterator_frame_init(iter, iter->root, NULL)) < 0) |
947
|
17 |
284 |
if (tree == NULL) |
951
|
0 |
284 |
GIT_ERROR_CHECK_ALLOC(iter); |
956
|
284 |
0 |
if ((error = iterator_init_common(&iter->base, |
957
|
284 |
0 |
git_tree_owner(tree), NULL, options)) < 0 || |
958
|
284 |
0 |
(error = git_tree_dup(&iter->root, tree)) < 0 || |
977
|
0 |
0 |
assert(i->type == GIT_ITERATOR_TREE); |
994
|
0 |
0 |
assert(i->type == GIT_ITERATOR_TREE); |
998
|
0 |
0 |
assert(depth < iter->frames.size); |
1052
|
176 |
0 |
&iter->frames.ptr[iter->frames.size-2] : NULL; |
1058
|
2049 |
207 |
return iter->frames.size ? &iter->frames.ptr[iter->frames.size-1] : NULL; |
1065
|
243 |
0 |
NULL : frame->entries.contents[frame->next_idx-1]; |
1101
|
9 |
260 |
if (iter->tree) { |
1106
|
1 |
8 |
if (error < 0 && error != GIT_ENOTFOUND) |
|
0 |
1 |
if (error < 0 && error != GIT_ENOTFOUND) |
1109
|
8 |
1 |
if (!error) { |
1115
|
269 |
0 |
if (!is_submodule && iter->base.index) { |
|
206 |
63 |
if (!is_submodule && iter->base.index) { |
1121
|
206 |
0 |
if (error < 0 && error != GIT_ENOTFOUND) |
|
0 |
206 |
if (error < 0 && error != GIT_ENOTFOUND) |
1124
|
0 |
206 |
if (!error) { |
1140
|
239 |
213 |
const char *path = frame_entry ? frame_entry->path : ""; |
1142
|
93 |
359 |
if (!iterator__honor_ignores(&iter->base)) |
1145
|
0 |
359 |
if (git_ignore__lookup(&new_frame->is_ignored, |
1152
|
176 |
183 |
if (frame_entry) { |
1161
|
176 |
0 |
if (new_frame->is_ignored <= GIT_IGNORE_NOTFOUND) |
1171
|
359 |
93 |
if (iterator__honor_ignores(&iter->base)) |
1189
|
46 |
1200 |
if (iter->base.start_len) { |
1196
|
6 |
40 |
if (cmp == 0) { |
1197
|
1 |
5 |
if (iter->base.start[path_len] == '/') |
1200
|
0 |
5 |
else if (iter->base.start[path_len] != '\0') |
1204
|
20 |
26 |
if (cmp < 0) |
1208
|
26 |
1200 |
if (iter->base.end_len) { |
1211
|
14 |
12 |
if (cmp > 0) |
1218
|
145 |
1067 |
if (iter->base.pathlist.length) { |
1220
|
8 |
137 |
if (frame_entry && frame_entry->match != ITERATOR_PATHLIST_IS_PARENT) |
|
0 |
8 |
if (frame_entry && frame_entry->match != ITERATOR_PATHLIST_IS_PARENT) |
1225
|
99 |
46 |
if (match == ITERATOR_PATHLIST_NONE) |
1229
|
46 |
0 |
if (match == ITERATOR_PATHLIST_IS_DIR || |
|
8 |
38 |
if (match == ITERATOR_PATHLIST_IS_DIR || |
1244
|
191 |
922 |
if (!iterator__ignore_dot_git(&iter->base)) |
1247
|
0 |
922 |
if ((len = path_len) < 4) |
1250
|
0 |
922 |
if (path[len - 1] == '/') |
1253
|
305 |
617 |
if (git__tolower(path[len - 1]) != 't' || |
|
137 |
168 |
if (git__tolower(path[len - 1]) != 't' || |
1254
|
137 |
0 |
git__tolower(path[len - 2]) != 'i' || |
1255
|
0 |
137 |
git__tolower(path[len - 3]) != 'g' || |
1259
|
0 |
137 |
return (len == 4 || path[len - 5] == '/'); |
|
0 |
0 |
return (len == 4 || path[len - 5] == '/'); |
1269
|
0 |
0 |
if (S_ISDIR(entry->st.st_mode)) { |
1274
|
0 |
0 |
if (iter->base.type == GIT_ITERATOR_WORKDIR) |
1278
|
0 |
0 |
if (!(error = git_buf_joinpath(&fullpath, iter->root, entry->path))) |
1303
|
0 |
976 |
GIT_ERROR_CHECK_ALLOC_ADD(&entry_size, |
|
0 |
976 |
GIT_ERROR_CHECK_ALLOC_ADD(&entry_size, |
1305
|
0 |
976 |
GIT_ERROR_CHECK_ALLOC_ADD(&entry_size, entry_size, 2); |
|
0 |
976 |
GIT_ERROR_CHECK_ALLOC_ADD(&entry_size, entry_size, 2); |
1308
|
0 |
976 |
GIT_ERROR_CHECK_ALLOC(entry); |
1316
|
269 |
707 |
if (S_ISDIR(entry->st.st_mode)) |
1321
|
0 |
976 |
if (iter->base.flags & GIT_ITERATOR_INCLUDE_HASH) |
1324
|
976 |
0 |
if (!error) |
1343
|
0 |
454 |
if (iter->frames.size == FILESYSTEM_MAX_DEPTH) { |
1349
|
215 |
239 |
new_frame = git_array_alloc(iter->frames); |
|
239 |
0 |
new_frame = git_array_alloc(iter->frames); |
1350
|
0 |
454 |
GIT_ERROR_CHECK_ALLOC(new_frame); |
1354
|
239 |
215 |
if (frame_entry) |
1359
|
0 |
454 |
if (git_buf_oom(&root)) { |
1364
|
239 |
215 |
new_frame->path_len = frame_entry ? frame_entry->path_len : 0; |
1367
|
2 |
452 |
if ((error = git_path_diriter_init( |
1373
|
2 |
450 |
if ((error = git_vector_init(&new_frame->entries, 64, |
|
0 |
452 |
if ((error = git_vector_init(&new_frame->entries, 64, |
1384
|
1246 |
452 |
while ((error = git_path_diriter_next(&diriter)) == 0) { |
1388
|
0 |
1246 |
if ((error = git_path_diriter_fullpath(&path, &path_len, &diriter)) < 0) |
1391
|
0 |
1246 |
assert(path_len > iter->root_len); |
1402
|
133 |
1113 |
if (!filesystem_iterator_examine_path(&dir_expected, &pathlist_match, |
1410
|
0 |
1113 |
if ((error = git_path_diriter_stat(&statbuf, &diriter)) < 0) { |
1412
|
0 |
0 |
if (error == GIT_ENOTFOUND) |
1425
|
709 |
404 |
if (!S_ISDIR(statbuf.st_mode) && |
|
0 |
709 |
if (!S_ISDIR(statbuf.st_mode) && |
1426
|
0 |
0 |
!S_ISREG(statbuf.st_mode) && |
1427
|
0 |
0 |
!S_ISLNK(statbuf.st_mode) && |
1431
|
137 |
976 |
if (filesystem_iterator_is_dot_git(iter, path, path_len)) |
1435
|
269 |
707 |
if (S_ISDIR(statbuf.st_mode)) { |
1438
|
0 |
269 |
if ((error = filesystem_iterator_is_submodule(&submodule, |
1442
|
0 |
269 |
if (submodule) |
1447
|
0 |
707 |
else if (dir_expected) |
1450
|
0 |
976 |
if ((error = filesystem_iterator_entry_init(&entry, |
1457
|
452 |
0 |
if (error == GIT_ITEROVER) |
1464
|
2 |
452 |
if (error < 0) |
1465
|
2 |
0 |
git_array_pop(iter->frames); |
1476
|
0 |
452 |
assert(iter->frames.size); |
1478
|
452 |
0 |
frame = git_array_pop(iter->frames); |
1514
|
0 |
895 |
if (iter->base.flags & GIT_ITERATOR_INCLUDE_HASH) |
1527
|
171 |
73 |
if (!iterator__has_been_accessed(i)) |
1530
|
0 |
73 |
if (!iter->frames.size) { |
1548
|
269 |
689 |
if (S_ISDIR(entry->st.st_mode)) { |
1553
|
128 |
561 |
if (!iterator__descend_symlinks(iter) || !S_ISLNK(entry->st.st_mode)) { |
|
128 |
0 |
if (!iterator__descend_symlinks(iter) || !S_ISLNK(entry->st.st_mode)) { |
1558
|
0 |
0 |
if ((error = git_buf_joinpath(&fullpath, iter->root, entry->path)) < 0 || |
|
0 |
0 |
if ((error = git_buf_joinpath(&fullpath, iter->root, entry->path)) < 0 || |
1583
|
207 |
1404 |
if ((frame = filesystem_iterator_current_frame(iter)) == NULL) { |
1589
|
446 |
958 |
if (frame->next_idx == frame->entries.length) { |
1598
|
0 |
958 |
if ((error = filesystem_iterator_is_dir(&is_dir, iter, entry)) < 0) |
1601
|
269 |
689 |
if (is_dir) { |
1602
|
63 |
206 |
if (iterator__do_autoexpand(iter)) { |
1608
|
0 |
63 |
if (error == GIT_ENOTFOUND) |
1610
|
0 |
63 |
else if (error < 0) |
1614
|
63 |
206 |
if (!iterator__include_trees(iter)) |
1622
|
1102 |
0 |
if (out) |
1623
|
895 |
207 |
*out = (error == 0) ? &iter->entry : NULL; |
1636
|
176 |
0 |
if (out) |
1639
|
0 |
176 |
if ((frame = filesystem_iterator_current_frame(iter)) == NULL) |
1649
|
0 |
176 |
assert(iterator__do_autoexpand(i) ^ (prev_entry != NULL)); |
1651
|
176 |
0 |
if (prev_entry) { |
1652
|
176 |
0 |
if (prev_entry->st.st_mode != GIT_FILEMODE_COMMIT && |
|
0 |
176 |
if (prev_entry->st.st_mode != GIT_FILEMODE_COMMIT && |
1656
|
0 |
176 |
if ((error = filesystem_iterator_frame_push(iter, prev_entry)) < 0) |
1671
|
6 |
0 |
if (i->type != GIT_ITERATOR_FS && |
|
0 |
6 |
if (i->type != GIT_ITERATOR_FS && |
1704
|
0 |
405 |
if (git_ignore__lookup(&iter->current_is_ignored, |
1711
|
395 |
10 |
if (iter->current_is_ignored <= GIT_IGNORE_NOTFOUND) { |
1720
|
405 |
11 |
if (iter->current_is_ignored == GIT_IGNORE_UNCHECKED) |
1730
|
49 |
332 |
if (i->type != GIT_ITERATOR_WORKDIR) |
1743
|
0 |
7 |
if (i->type != GIT_ITERATOR_WORKDIR) |
1765
|
0 |
67 |
assert(iterator__has_been_accessed(i)); |
1768
|
0 |
67 |
assert(current_frame); |
1770
|
0 |
67 |
assert(current_entry); |
1772
|
0 |
67 |
if ((error = git_iterator_current(&entry, i)) < 0) |
1775
|
49 |
18 |
if (!S_ISDIR(entry->mode)) { |
1776
|
1 |
48 |
if (filesystem_iterator_current_is_ignored(iter)) |
1783
|
0 |
18 |
if ((error = git_buf_puts(&iter->tmp_buf, entry->path)) < 0) |
1798
|
0 |
18 |
*status = current_entry->match == ITERATOR_PATHLIST_IS_PARENT ? |
1801
|
36 |
0 |
while (entry && !iter->base.prefixcomp(entry->path, base)) { |
|
35 |
1 |
while (entry && !iter->base.prefixcomp(entry->path, base)) { |
1802
|
0 |
35 |
if (filesystem_iterator_current_is_ignored(iter)) { |
1807
|
18 |
17 |
} else if (S_ISDIR(entry->mode)) { |
1810
|
18 |
0 |
if (!error) |
1814
|
0 |
0 |
else if (error == GIT_ENOTFOUND) |
1826
|
0 |
0 |
if ((error = git_iterator_advance(&entry, i)) < 0) |
1831
|
34 |
0 |
while (entry && !iter->base.prefixcomp(entry->path, base)) { |
|
17 |
17 |
while (entry && !iter->base.prefixcomp(entry->path, base)) { |
1832
|
1 |
16 |
if ((error = git_iterator_advance(&entry, i)) < 0) |
1836
|
17 |
1 |
if (!error) |
1844
|
6 |
215 |
while (iter->frames.size) |
1859
|
183 |
32 |
if (iterator__honor_ignores(&iter->base) && |
|
0 |
183 |
if (iterator__honor_ignores(&iter->base) && |
1864
|
2 |
213 |
if ((error = filesystem_iterator_frame_push(iter, NULL)) < 0) |
1886
|
171 |
38 |
if (iter->index) |
1915
|
0 |
209 |
if (root == NULL) |
1919
|
0 |
209 |
GIT_ERROR_CHECK_ALLOC(iter); |
1927
|
0 |
209 |
GIT_ERROR_CHECK_ALLOC(iter->root); |
1931
|
209 |
0 |
if (root_len == 0 || root[root_len-1] != '/') { |
|
0 |
209 |
if (root_len == 0 || root[root_len-1] != '/') { |
1938
|
0 |
209 |
if ((error = git_buf_puts(&iter->current_path, iter->root)) < 0) |
1941
|
0 |
209 |
if ((error = iterator_init_common(&iter->base, repo, index, options)) < 0) |
1944
|
2 |
207 |
if (tree && (error = git_tree_dup(&iter->tree, tree)) < 0) |
|
0 |
2 |
if (tree && (error = git_tree_dup(&iter->tree, tree)) < 0) |
1947
|
171 |
38 |
if (index && |
|
0 |
171 |
if (index && |
1955
|
0 |
209 |
GIT_PATH_DIR_PRECOMPOSE_UNICODE : 0); |
1957
|
2 |
207 |
if ((error = filesystem_iterator_init(iter)) < 0) |
1987
|
124 |
53 |
if (!repo_workdir) { |
1988
|
0 |
124 |
if (git_repository__ensure_not_bare(repo, "scan working directory") < 0) |
1995
|
177 |
0 |
if (given_opts) |
2027
|
259 |
0 |
if (!iterator__has_been_accessed(i)) |
2030
|
0 |
0 |
if (iter->entry == NULL) { |
2047
|
0 |
0 |
prev_path = iter->entry ? iter->entry->path : ""; |
2053
|
0 |
0 |
if ((dirsep = strchr(relative_path, '/')) == NULL) |
2068
|
0 |
0 |
assert(iterator__has_been_accessed(&iter->base)); |
2069
|
0 |
0 |
assert(S_ISDIR(iter->entry->mode)); |
2074
|
0 |
0 |
if (++iter->next_idx >= iter->entries.length) |
2079
|
0 |
0 |
if (iter->base.strncomp(iter->tree_buf.ptr, next_entry->path, |
2099
|
260 |
587 |
if (iter->next_idx >= iter->entries.length) { |
2105
|
0 |
587 |
if (iter->skip_tree) { |
2113
|
0 |
587 |
if (!iterator_has_started(&iter->base, entry->path, is_submodule)) { |
2118
|
0 |
587 |
if (iterator_has_ended(&iter->base, entry->path)) { |
2124
|
65 |
522 |
if (!iterator_pathlist_next_is(&iter->base, entry->path)) { |
2130
|
22 |
500 |
if (git_index_entry_is_conflict(entry) && |
|
22 |
0 |
if (git_index_entry_is_conflict(entry) && |
2153
|
500 |
260 |
iter->entry = (error == 0) ? entry : NULL; |
2155
|
760 |
0 |
if (out) |
2166
|
0 |
0 |
if (! S_ISDIR(iter->tree_entry.mode)) { |
2167
|
0 |
0 |
if (out) |
2186
|
0 |
0 |
if ((error = index_iterator_current(&entry, i)) < 0) |
2189
|
0 |
0 |
if (S_ISDIR(entry->mode)) |
2245
|
0 |
260 |
if (index == NULL) |
2249
|
0 |
260 |
GIT_ERROR_CHECK_ALLOC(iter); |
2254
|
260 |
0 |
if ((error = iterator_init_common(&iter->base, repo, index, options)) < 0 || |
|
260 |
0 |
if ((error = iterator_init_common(&iter->base, repo, index, options)) < 0 || |
2255
|
260 |
0 |
(error = git_index_snapshot_new(&iter->entries, index)) < 0 || |
2259
|
0 |
260 |
git_vector_set_cmp(&iter->entries, iterator__ignore_case(&iter->base) ? |
2277
|
0 |
64 |
if (iterator_reset_range(i, start, end) < 0) |
2285
|
0 |
0 |
assert(!iterator__has_been_accessed(i)); |
2291
|
94 |
770 |
if (iter == NULL) |
2313
|
0 |
0 |
if ((error = git_iterator_current(&iterator_item, iterator)) < 0) |
2316
|
0 |
0 |
if ((error = cb(iterator_item, data)) != 0) |
2320
|
0 |
0 |
if ((error = git_iterator_advance(&iterator_item, iterator)) < 0) |
2323
|
0 |
0 |
if ((error = cb(iterator_item, data)) != 0) |
2328
|
0 |
0 |
if (error == GIT_ITEROVER) |
2349
|
0 |
22 |
GIT_ERROR_CHECK_ALLOC(iterator_item); |
2350
|
0 |
22 |
GIT_ERROR_CHECK_ALLOC(cur_items); |
2353
|
66 |
22 |
for (i = 0; i < cnt; i++) { |
2356
|
0 |
66 |
if (error < 0 && error != GIT_ITEROVER) |
|
0 |
0 |
if (error < 0 && error != GIT_ITEROVER) |
2361
|
210 |
70 |
for (i = 0; i < cnt; i++) |
2367
|
210 |
70 |
for (i = 0; i < cnt; i++) { |
2368
|
70 |
140 |
if (iterator_item[i] == NULL) |
2371
|
48 |
92 |
if (first_match == NULL) { |
2377
|
1 |
91 |
if (path_diff < 0) { |
2382
|
2 |
1 |
for (j = 0; j < i; j++) |
2387
|
90 |
1 |
} else if (path_diff == 0) { |
2393
|
22 |
48 |
if (first_match == NULL) |
2396
|
0 |
48 |
if ((error = cb(cur_items, data)) != 0) |
2400
|
144 |
48 |
for (i = 0; i < cnt; i++) { |
2401
|
7 |
137 |
if (cur_items[i] == NULL) |
2406
|
66 |
71 |
if (error < 0 && error != GIT_ITEROVER) |
|
0 |
66 |
if (error < 0 && error != GIT_ITEROVER) |
2415
|
22 |
0 |
if (error == GIT_ITEROVER) |