| line |
true |
false |
branch |
|
130
|
0 |
173 |
if (ignore_case) |
|
138
|
0 |
217 |
if (ignore_case) |
|
146
|
0 |
43 |
if (ignore_case) |
|
164
|
2594 |
331 |
if (cmp) |
|
166
|
176 |
155 |
if (len1 < len2) |
|
168
|
39 |
116 |
if (len1 > len2) |
|
171
|
112 |
4 |
if (srch_key->stage != GIT_INDEX_STAGE_ANY) |
|
190
|
0 |
0 |
if (cmp) |
|
192
|
0 |
0 |
if (len1 < len2) |
|
194
|
0 |
0 |
if (len1 > len2) |
|
197
|
0 |
0 |
if (srch_key->stage != GIT_INDEX_STAGE_ANY) |
|
225
|
118 |
121 |
if (diff == 0) |
|
239
|
0 |
0 |
if (diff == 0) |
|
250
|
0 |
0 |
if (name_a->ancestor && !name_b->ancestor) |
|
|
0 |
0 |
if (name_a->ancestor && !name_b->ancestor) |
|
253
|
0 |
0 |
if (!name_a->ancestor && name_b->ancestor) |
|
|
0 |
0 |
if (!name_a->ancestor && name_b->ancestor) |
|
256
|
0 |
0 |
if (name_a->ancestor) |
|
259
|
0 |
0 |
if (!name_a->ours || !name_b->ours) |
|
|
0 |
0 |
if (!name_a->ours || !name_b->ours) |
|
327
|
0 |
228 |
if (!entry) |
|
336
|
1 |
279 |
if (S_ISLNK(mode)) |
|
339
|
279 |
0 |
if (S_ISDIR(mode) || (mode & S_IFMT) == (S_IFLNK | S_IFDIR)) |
|
|
0 |
279 |
if (S_ISDIR(mode) || (mode & S_IFMT) == (S_IFLNK | S_IFDIR)) |
|
342
|
1 |
278 |
return S_IFREG | GIT_PERMS_CANONICAL(mode); |
|
348
|
0 |
50 |
if (index->no_symlinks && S_ISREG(mode) && |
|
|
0 |
0 |
if (index->no_symlinks && S_ISREG(mode) && |
|
|
0 |
0 |
if (index->no_symlinks && S_ISREG(mode) && |
|
349
|
0 |
0 |
existing && S_ISLNK(existing->mode)) |
|
352
|
0 |
50 |
if (index->distrust_filemode && S_ISREG(mode)) |
|
|
0 |
0 |
if (index->distrust_filemode && S_ISREG(mode)) |
|
353
|
0 |
0 |
return (existing && S_ISREG(existing->mode)) ? |
|
354
|
0 |
0 |
existing->mode : git_index__create_mode(0666); |
|
365
|
1377 |
220 |
srch_key.pathlen = !path_len ? strlen(path) : path_len; |
|
384
|
0 |
6 |
if (ignore_case) { |
|
396
|
0 |
6 |
git_vector_set_cmp(&index->entries, |
|
400
|
0 |
6 |
git_vector_set_cmp(&index->reuc, ignore_case ? reuc_icmp : reuc_cmp); |
|
409
|
0 |
47 |
assert(index_out); |
|
412
|
0 |
47 |
GIT_ERROR_CHECK_ALLOC(index); |
|
416
|
16 |
31 |
if (index_path != NULL) { |
|
418
|
0 |
16 |
if (!index->index_file_path) |
|
422
|
10 |
6 |
if (git_path_exists(index->index_file_path) == true) |
|
427
|
47 |
0 |
git_idxmap_new(&index->entries_map) < 0 || |
|
428
|
47 |
0 |
git_vector_init(&index->names, 8, conflict_name_cmp) < 0 || |
|
429
|
47 |
0 |
git_vector_init(&index->reuc, 8, reuc_cmp) < 0 || |
|
439
|
16 |
31 |
if (index_path != NULL && (error = git_index_read(index, true)) < 0) |
|
|
0 |
16 |
if (index_path != NULL && (error = git_index_read(index, true)) < 0) |
|
463
|
0 |
47 |
assert(!git_atomic_get(&index->readers)); |
|
480
|
109 |
814 |
if (index == NULL) |
|
483
|
47 |
767 |
GIT_REFCOUNT_DEC(index, index_free); |
|
|
47 |
0 |
GIT_REFCOUNT_DEC(index, index_free); |
|
492
|
71 |
0 |
if (readers > 0 || !index->deleted.length) |
|
|
65 |
6 |
if (readers > 0 || !index->deleted.length) |
|
495
|
6 |
6 |
for (i = 0; i < index->deleted.length; ++i) { |
|
509
|
167 |
0 |
if (entry != NULL) { |
|
516
|
167 |
0 |
if (!error) { |
|
517
|
6 |
161 |
if (git_atomic_get(&index->readers) > 0) { |
|
533
|
0 |
71 |
assert(index); |
|
540
|
211 |
0 |
while (!error && index->entries.length > 0) |
|
|
140 |
71 |
while (!error && index->entries.length > 0) |
|
543
|
0 |
71 |
if (error) |
|
548
|
71 |
0 |
if ((error = git_index_name_clear(index)) < 0 || |
|
|
71 |
0 |
if ((error = git_index_name_clear(index)) < 0 || |
|
568
|
0 |
16 |
assert(index); |
|
572
|
16 |
0 |
if (caps == GIT_INDEX_CAPABILITY_FROM_OWNER) { |
|
576
|
0 |
16 |
if (!repo) |
|
580
|
16 |
0 |
if (!git_repository__configmap_lookup(&val, repo, GIT_CONFIGMAP_IGNORECASE)) |
|
582
|
16 |
0 |
if (!git_repository__configmap_lookup(&val, repo, GIT_CONFIGMAP_FILEMODE)) |
|
584
|
16 |
0 |
if (!git_repository__configmap_lookup(&val, repo, GIT_CONFIGMAP_SYMLINKS)) |
|
593
|
0 |
16 |
if (old_ignore_case != index->ignore_case) { |
|
603
|
0 |
1 |
(index->distrust_filemode ? GIT_INDEX_CAPABILITY_NO_FILEMODE : 0) | |
|
604
|
0 |
1 |
(index->no_symlinks ? GIT_INDEX_CAPABILITY_NO_SYMLINKS : 0)); |
|
621
|
0 |
135 |
if ((fd = p_open(index->index_file_path, O_RDONLY)) < 0) |
|
624
|
0 |
135 |
if (p_lseek(fd, -20, SEEK_END) < 0) { |
|
633
|
0 |
135 |
if (bytes_read < 0) |
|
645
|
0 |
152 |
if (!index->index_file_path) |
|
651
|
17 |
135 |
if (!index->on_disk) { |
|
652
|
6 |
11 |
if (force && (error = git_index_clear(index)) < 0) |
|
|
0 |
6 |
if (force && (error = git_index_clear(index)) < 0) |
|
659
|
135 |
0 |
if ((updated = git_futils_filestamp_check(&stamp, index->index_file_path) < 0) || |
|
|
0 |
135 |
if ((updated = git_futils_filestamp_check(&stamp, index->index_file_path) < 0) || |
|
668
|
125 |
10 |
if (!updated && !force) |
|
|
124 |
1 |
if (!updated && !force) |
|
672
|
0 |
11 |
if (error < 0) |
|
680
|
11 |
0 |
if (!error) |
|
683
|
11 |
0 |
if (!error) { |
|
694
|
0 |
89 |
if (git_index__enforce_unsaved_safety && index->dirty) { |
|
|
0 |
0 |
if (git_index__enforce_unsaved_safety && index->dirty) { |
|
707
|
0 |
0 |
if (git_index_read(index, false) < 0) |
|
716
|
0 |
111 |
if (S_ISGITLINK(entry->mode)) |
|
737
|
0 |
83 |
if (!INDEX_OWNER(index)) |
|
741
|
0 |
83 |
if (!git_repository_workdir(INDEX_OWNER(index))) |
|
745
|
171 |
83 |
git_vector_foreach(&index->entries, i, entry) { |
|
751
|
61 |
22 |
if (paths.length == 0) |
|
757
|
0 |
22 |
if ((error = git_diff_index_to_workdir(&diff, INDEX_OWNER(index), index, &diff_opts)) < 0) |
|
760
|
0 |
22 |
git_vector_foreach(&diff->deltas, i, delta) { |
|
766
|
0 |
0 |
if (entry) { |
|
780
|
0 |
3 |
assert(index); |
|
787
|
0 |
1 |
assert(index); |
|
789
|
1 |
0 |
if (version < INDEX_VERSION_NUMBER_LB || |
|
|
0 |
1 |
if (version < INDEX_VERSION_NUMBER_LB || |
|
807
|
83 |
0 |
if ((error = git_indexwriter_init(&writer, index)) == 0 && |
|
|
83 |
0 |
if ((error = git_indexwriter_init(&writer, index)) == 0 && |
|
818
|
0 |
3 |
assert(index); |
|
826
|
38 |
0 |
assert(oid && index); |
|
|
0 |
38 |
assert(oid && index); |
|
830
|
0 |
38 |
if (repo == NULL) |
|
840
|
18 |
0 |
assert(oid && index && repo); |
|
|
18 |
0 |
assert(oid && index && repo); |
|
|
0 |
18 |
assert(oid && index && repo); |
|
846
|
0 |
270 |
assert(index); |
|
853
|
0 |
419 |
assert(index); |
|
864
|
0 |
170 |
assert(index); |
|
869
|
0 |
170 |
if (index->ignore_case) |
|
874
|
23 |
147 |
if (!value) { |
|
893
|
0 |
0 |
entry->mode = (!trust_mode && S_ISREG(st->st_mode)) ? |
|
894
|
0 |
91 |
git_index__create_mode(0666) : git_index__create_mode(st->st_mode); |
|
906
|
200 |
0 |
if (path_length < GIT_INDEX_ENTRY_NAMEMASK) |
|
934
|
52 |
176 |
if (from_workdir) |
|
936
|
52 |
176 |
if (st) |
|
939
|
0 |
228 |
if (!git_path_isvalid(repo, path, mode, path_valid_flags)) { |
|
944
|
0 |
228 |
GIT_ERROR_CHECK_ALLOC_ADD(&alloclen, sizeof(struct entry_internal), pathlen); |
|
|
0 |
228 |
GIT_ERROR_CHECK_ALLOC_ADD(&alloclen, sizeof(struct entry_internal), pathlen); |
|
945
|
0 |
228 |
GIT_ERROR_CHECK_ALLOC_ADD(&alloclen, alloclen, 1); |
|
|
0 |
228 |
GIT_ERROR_CHECK_ALLOC_ADD(&alloclen, alloclen, 1); |
|
947
|
0 |
228 |
GIT_ERROR_CHECK_ALLOC(entry); |
|
969
|
0 |
52 |
if (INDEX_OWNER(index) == NULL) |
|
980
|
0 |
52 |
if (git_repository__ensure_not_bare(repo, "create blob from file") < 0) |
|
983
|
0 |
52 |
if (git_buf_joinpath(&path, git_repository_workdir(repo), rel_path) < 0) |
|
989
|
0 |
52 |
if (error < 0) |
|
992
|
0 |
52 |
if (index_entry_create(&entry, INDEX_OWNER(index), rel_path, &st, true) < 0) |
|
999
|
2 |
50 |
if (error < 0) { |
|
1018
|
0 |
10 |
if (GIT_ADD_SIZET_OVERFLOW(&alloclen, structlen, pathlen) || |
|
|
0 |
10 |
if (GIT_ADD_SIZET_OVERFLOW(&alloclen, structlen, pathlen) || |
|
1023
|
0 |
10 |
if (!entry) |
|
1041
|
10 |
0 |
assert(reuc_out && path); |
|
|
0 |
10 |
assert(reuc_out && path); |
|
1044
|
0 |
10 |
GIT_ERROR_CHECK_ALLOC(reuc); |
|
1046
|
10 |
0 |
if ((reuc->mode[0] = ancestor_mode) > 0) { |
|
1047
|
0 |
10 |
assert(ancestor_oid); |
|
1051
|
8 |
2 |
if ((reuc->mode[1] = our_mode) > 0) { |
|
1052
|
0 |
8 |
assert(our_oid); |
|
1056
|
6 |
4 |
if ((reuc->mode[2] = their_mode) > 0) { |
|
1057
|
0 |
6 |
assert(their_oid); |
|
1078
|
0 |
165 |
if (index_entry_create(out, INDEX_OWNER(index), src->path, NULL, false) < 0) |
|
1100
|
0 |
2 |
if (index_entry_create(out, INDEX_OWNER(index), src->path, NULL, false) < 0) |
|
1114
|
109 |
18 |
while (pos < index->entries.length) { |
|
1117
|
105 |
4 |
if (len >= p->pathlen) |
|
1119
|
3 |
1 |
if (memcmp(name, p->path, len)) |
|
1121
|
0 |
1 |
if (GIT_INDEX_ENTRY_STAGE(&p->entry) != stage) |
|
1123
|
1 |
0 |
if (p->path[len] != '/') |
|
1125
|
0 |
0 |
if (!ok_to_replace) |
|
1128
|
0 |
0 |
if (index_remove_entry(index, --pos) < 0) |
|
1149
|
13 |
834 |
if (*--slash == '/') |
|
1151
|
124 |
710 |
if (slash <= entry->path) |
|
1156
|
0 |
13 |
if (!index_find(&pos, index, name, len, stage)) { |
|
1157
|
0 |
0 |
if (!ok_to_replace) |
|
1160
|
0 |
0 |
if (index_remove_entry(index, pos) < 0) |
|
1170
|
7 |
6 |
for (; pos < index->entries.length; ++pos) { |
|
1173
|
7 |
0 |
if (p->pathlen <= len || |
|
|
2 |
5 |
if (p->pathlen <= len || |
|
1174
|
2 |
0 |
p->path[len] != '/' || |
|
1178
|
2 |
0 |
if (GIT_INDEX_ENTRY_STAGE(&p->entry) == stage) |
|
1208
|
50 |
0 |
if (!index->ignore_case) |
|
1212
|
0 |
0 |
if (existing) { |
|
1218
|
0 |
0 |
if (strchr(entry->path, '/') == NULL) |
|
1221
|
0 |
0 |
if ((search = git__strdup(entry->path)) == NULL) |
|
1227
|
0 |
0 |
while (!best && (sep = strrchr(search, '/'))) { |
|
|
0 |
0 |
while (!best && (sep = strrchr(search, '/'))) { |
|
1235
|
0 |
0 |
while ((match = git_vector_get(&index->entries, pos))) { |
|
1236
|
0 |
0 |
if (GIT_INDEX_ENTRY_STAGE(match) != 0) { |
|
1238
|
0 |
0 |
} else if (strncmp(search, match->path, search_len) == 0) { |
|
1243
|
0 |
0 |
} else if (strncasecmp(search, match->path, search_len) == 0) { |
|
1248
|
0 |
0 |
if (!best) { |
|
1262
|
0 |
0 |
if (best) |
|
1292
|
57 |
69 |
if (error == 0) { |
|
1303
|
43 |
26 |
if (GIT_INDEX_ENTRY_STAGE(entry) == 0) { |
|
1304
|
19 |
26 |
for (; pos < index->entries.length; pos++) { |
|
1306
|
0 |
19 |
index->ignore_case ? git__strcasecmp : git__strcmp; |
|
1310
|
15 |
4 |
if (strcomp(entry->path, e->path) != 0) |
|
1313
|
2 |
2 |
if (GIT_INDEX_ENTRY_STAGE(e) == GIT_INDEX_STAGE_ANCESTOR) { |
|
1349
|
126 |
0 |
assert(index && entry_ptr); |
|
|
0 |
126 |
assert(index && entry_ptr); |
|
1370
|
76 |
50 |
git_index__create_mode(entry->mode) : |
|
1374
|
50 |
76 |
if (!trust_path && (error = canonicalize_directory_path(index, entry, best)) < 0) |
|
|
0 |
50 |
if (!trust_path && (error = canonicalize_directory_path(index, entry, best)) < 0) |
|
1378
|
69 |
57 |
if (!trust_id && INDEX_OWNER(index) && |
|
|
43 |
26 |
if (!trust_id && INDEX_OWNER(index) && |
|
|
43 |
0 |
if (!trust_id && INDEX_OWNER(index) && |
|
1381
|
0 |
43 |
if (!git_object__is_valid(INDEX_OWNER(index), &entry->id, |
|
1389
|
0 |
126 |
if ((error = check_file_directory_collision(index, entry, position, replace)) < 0) |
|
1396
|
57 |
69 |
if (existing) { |
|
1397
|
57 |
0 |
if (replace) { |
|
1400
|
30 |
27 |
if (trust_path) |
|
1412
|
69 |
0 |
if ((error = git_vector_insert_sorted(&index->entries, entry, index_no_dups)) < 0 || |
|
|
69 |
0 |
if ((error = git_vector_insert_sorted(&index->entries, entry, index_no_dups)) < 0 || |
|
1420
|
0 |
126 |
if (error < 0) { |
|
1435
|
61 |
2 |
if ((ret = git_index_conflict_get(&conflict_entries[0], |
|
1439
|
2 |
0 |
ancestor_mode = conflict_entries[0] == NULL ? 0 : conflict_entries[0]->mode; |
|
1440
|
2 |
0 |
our_mode = conflict_entries[1] == NULL ? 0 : conflict_entries[1]->mode; |
|
1441
|
2 |
0 |
their_mode = conflict_entries[2] == NULL ? 0 : conflict_entries[2]->mode; |
|
1443
|
2 |
0 |
ancestor_oid = conflict_entries[0] == NULL ? NULL : &conflict_entries[0]->id; |
|
1444
|
2 |
0 |
our_oid = conflict_entries[1] == NULL ? NULL : &conflict_entries[1]->id; |
|
1445
|
2 |
0 |
their_oid = conflict_entries[2] == NULL ? NULL : &conflict_entries[2]->id; |
|
1447
|
2 |
0 |
if ((ret = git_index_reuc_add(index, path, ancestor_mode, ancestor_oid, |
|
1456
|
3 |
1 |
return (filemode == GIT_FILEMODE_BLOB || |
|
1457
|
4 |
74 |
filemode == GIT_FILEMODE_BLOB_EXECUTABLE || |
|
|
1 |
2 |
filemode == GIT_FILEMODE_BLOB_EXECUTABLE || |
|
1463
|
0 |
69 |
return (is_file_or_link(filemode) || filemode == GIT_FILEMODE_COMMIT); |
|
|
0 |
0 |
return (is_file_or_link(filemode) || filemode == GIT_FILEMODE_COMMIT); |
|
1474
|
9 |
0 |
assert(index && source_entry->path); |
|
|
0 |
9 |
assert(index && source_entry->path); |
|
1476
|
0 |
9 |
if (INDEX_OWNER(index) == NULL) |
|
1481
|
2 |
7 |
if (!is_file_or_link(source_entry->mode)) { |
|
1486
|
0 |
7 |
if (len > UINT32_MAX) { |
|
1491
|
0 |
7 |
if (index_entry_dup(&entry, index, source_entry) < 0) |
|
1495
|
0 |
7 |
if (error < 0) { |
|
1503
|
0 |
7 |
if ((error = index_insert(index, &entry, 1, true, true, true)) < 0) |
|
1507
|
7 |
0 |
if ((error = index_conflict_to_reuc(index, entry->path)) < 0 && error != GIT_ENOTFOUND) |
|
|
0 |
7 |
if ((error = index_conflict_to_reuc(index, entry->path)) < 0 && error != GIT_ENOTFOUND) |
|
1524
|
0 |
0 |
if ((error = git_buf_joinpath(&abspath, git_repository_workdir(repo), path)) < 0) |
|
1527
|
0 |
0 |
if ((error = p_stat(abspath.ptr, &st)) < 0) { |
|
1532
|
0 |
0 |
if (index_entry_create(&entry, INDEX_OWNER(index), path, &st, true) < 0) |
|
1537
|
0 |
0 |
if ((error = git_repository_open(&sub, abspath.ptr)) < 0) |
|
1540
|
0 |
0 |
if ((error = git_repository_head(&head, sub)) < 0) |
|
1559
|
52 |
0 |
assert(index && path); |
|
|
0 |
52 |
assert(index && path); |
|
1561
|
50 |
2 |
if ((ret = index_entry_init(&entry, index, path)) == 0) |
|
1565
|
2 |
50 |
if (ret < 0 && ret != GIT_EDIRECTORY) |
|
|
2 |
0 |
if (ret < 0 && ret != GIT_EDIRECTORY) |
|
1568
|
0 |
50 |
if (ret == GIT_EDIRECTORY) { |
|
1575
|
0 |
0 |
if (ret == GIT_ENOTFOUND) |
|
1584
|
0 |
0 |
if (ret == GIT_EEXISTS) { |
|
1585
|
0 |
0 |
if ((ret = add_repo_as_submodule(&entry, index, path)) < 0) |
|
1588
|
0 |
0 |
if ((ret = index_insert(index, &entry, 1, false, false, true)) < 0) |
|
1590
|
0 |
0 |
} else if (ret < 0) { |
|
1600
|
48 |
2 |
if ((ret = index_conflict_to_reuc(index, path)) < 0 && ret != GIT_ENOTFOUND) |
|
|
0 |
48 |
if ((ret = index_conflict_to_reuc(index, path)) < 0 && ret != GIT_ENOTFOUND) |
|
1611
|
6 |
0 |
assert(index && path); |
|
|
0 |
6 |
assert(index && path); |
|
1613
|
0 |
6 |
if (((ret = git_index_remove(index, path, 0)) < 0 && |
|
|
0 |
0 |
if (((ret = git_index_remove(index, path, 0)) < 0 && |
|
1614
|
6 |
0 |
ret != GIT_ENOTFOUND) || |
|
1615
|
0 |
6 |
((ret = index_conflict_to_reuc(index, path)) < 0 && |
|
1619
|
6 |
0 |
if (ret == GIT_ENOTFOUND) |
|
1631
|
0 |
28 |
assert(index); |
|
1633
|
3 |
25 |
if (!source_entries->length) |
|
1641
|
63 |
25 |
git_vector_foreach(source_entries, i, source_entry) { |
|
1644
|
0 |
63 |
if ((error = index_entry_dup(&entry, index, source_entry)) < 0) |
|
1651
|
0 |
63 |
if ((error = git_vector_insert(&index->entries, entry)) < 0) |
|
1654
|
0 |
63 |
if ((error = index_map_set(index->entries_map, entry, index->ignore_case)) < 0) |
|
1660
|
25 |
0 |
if (!error) |
|
1672
|
52 |
0 |
assert(index && source_entry && source_entry->path); |
|
|
52 |
0 |
assert(index && source_entry && source_entry->path); |
|
|
0 |
52 |
assert(index && source_entry && source_entry->path); |
|
1674
|
0 |
52 |
if (!valid_filemode(source_entry->mode)) { |
|
1679
|
52 |
0 |
if ((ret = index_entry_dup(&entry, index, source_entry)) < 0 || |
|
|
0 |
52 |
if ((ret = index_entry_dup(&entry, index, source_entry)) < 0 || |
|
1698
|
35 |
15 |
if (index_find(&position, index, path, 0, stage) < 0) { |
|
1716
|
1 |
0 |
if (!(error = git_buf_sets(&pfx, dir)) && |
|
|
1 |
0 |
if (!(error = git_buf_sets(&pfx, dir)) && |
|
1720
|
1 |
0 |
while (!error) { |
|
1722
|
1 |
0 |
if (!entry || git__prefixcmp(entry->path, pfx.ptr) != 0) |
|
|
0 |
1 |
if (!entry || git__prefixcmp(entry->path, pfx.ptr) != 0) |
|
1725
|
0 |
0 |
if (GIT_INDEX_ENTRY_STAGE(entry) != stage) { |
|
1748
|
0 |
0 |
if (!entry || git__prefixcmp(entry->path, prefix) != 0) |
|
|
0 |
0 |
if (!entry || git__prefixcmp(entry->path, prefix) != 0) |
|
1751
|
0 |
0 |
if (!error && at_pos) |
|
|
0 |
0 |
if (!error && at_pos) |
|
1760
|
1192 |
0 |
assert(index && path); |
|
|
0 |
1192 |
assert(index && path); |
|
1768
|
71 |
0 |
assert(index && path); |
|
|
0 |
71 |
assert(index && path); |
|
1770
|
7 |
64 |
if (git_vector_bsearch2( |
|
1779
|
28 |
49 |
for (; pos > 0; --pos) { |
|
1782
|
15 |
13 |
if (index->entries_cmp_path(prev->path, path) != 0) |
|
1786
|
64 |
0 |
if (at_pos) |
|
1801
|
0 |
6 |
assert (index); |
|
1803
|
6 |
0 |
if ((ancestor_entry && |
|
|
6 |
0 |
if ((ancestor_entry && |
|
1804
|
5 |
1 |
(ret = index_entry_dup(&entries[0], index, ancestor_entry)) < 0) || |
|
1805
|
5 |
0 |
(our_entry && |
|
1806
|
6 |
0 |
(ret = index_entry_dup(&entries[1], index, our_entry)) < 0) || |
|
1807
|
6 |
0 |
(their_entry && |
|
1812
|
18 |
6 |
for (i = 0; i < 3; i++) { |
|
1813
|
17 |
1 |
if (entries[i] && !valid_filemode(entries[i]->mode)) { |
|
|
0 |
17 |
if (entries[i] && !valid_filemode(entries[i]->mode)) { |
|
1822
|
18 |
6 |
for (i = 0; i < 3; i++) { |
|
1823
|
1 |
17 |
if (entries[i] == NULL) |
|
1826
|
17 |
0 |
if ((ret = git_index_remove(index, entries[i]->path, 0)) != 0) { |
|
1827
|
0 |
17 |
if (ret != GIT_ENOTFOUND) |
|
1836
|
18 |
6 |
for (i = 0; i < 3; i++) { |
|
1837
|
1 |
17 |
if (entries[i] == NULL) |
|
1843
|
0 |
17 |
if ((ret = index_insert(index, &entries[i], 1, true, true, false)) < 0) |
|
1852
|
0 |
0 |
for (i = 0; i < 3; i++) { |
|
1853
|
0 |
0 |
if (entries[i] != NULL) |
|
1872
|
62 |
0 |
assert(ancestor_out && our_out && their_out && index); |
|
|
62 |
0 |
assert(ancestor_out && our_out && their_out && index); |
|
|
62 |
0 |
assert(ancestor_out && our_out && their_out && index); |
|
|
0 |
62 |
assert(ancestor_out && our_out && their_out && index); |
|
1878
|
108 |
32 |
for (count = git_index_entrycount(index); n < count; ++n) { |
|
1881
|
46 |
62 |
if (path && index->entries_cmp_path(conflict_entry->path, path) != 0) |
|
|
30 |
16 |
if (path && index->entries_cmp_path(conflict_entry->path, path) != 0) |
|
1918
|
64 |
0 |
assert(ancestor_out && our_out && their_out && index && path); |
|
|
64 |
0 |
assert(ancestor_out && our_out && their_out && index && path); |
|
|
64 |
0 |
assert(ancestor_out && our_out && their_out && index && path); |
|
|
64 |
0 |
assert(ancestor_out && our_out && their_out && index && path); |
|
|
0 |
64 |
assert(ancestor_out && our_out && their_out && index && path); |
|
1924
|
6 |
58 |
if (git_index_find(&pos, index, path) < 0) |
|
1927
|
0 |
58 |
if ((len = index_conflict__get_byindex( |
|
1930
|
55 |
3 |
else if (len == 0) |
|
1942
|
5 |
1 |
if (path != NULL && git_index_find(&pos, index, path) < 0) |
|
|
0 |
5 |
if (path != NULL && git_index_find(&pos, index, path) < 0) |
|
1945
|
16 |
5 |
while ((conflict_entry = git_vector_get(&index->entries, pos)) != NULL) { |
|
1951
|
3 |
12 |
if (GIT_INDEX_ENTRY_STAGE(conflict_entry) == 0) { |
|
1956
|
0 |
12 |
if ((error = index_remove_entry(index, pos)) < 0) |
|
1965
|
5 |
0 |
assert(index && path); |
|
|
0 |
5 |
assert(index && path); |
|
1971
|
0 |
1 |
assert(index); |
|
1980
|
0 |
121 |
assert(index); |
|
1982
|
291 |
113 |
git_vector_foreach(&index->entries, i, entry) { |
|
1983
|
8 |
283 |
if (GIT_INDEX_ENTRY_STAGE(entry) > 0) |
|
1997
|
0 |
0 |
assert(iterator_out && index); |
|
|
0 |
0 |
assert(iterator_out && index); |
|
2000
|
0 |
0 |
GIT_ERROR_CHECK_ALLOC(it); |
|
2002
|
0 |
0 |
if ((error = git_index_snapshot_new(&it->snap, index)) < 0) { |
|
2017
|
0 |
0 |
assert(out && it); |
|
|
0 |
0 |
assert(out && it); |
|
2019
|
0 |
0 |
if (it->cur >= git_vector_length(&it->snap)) |
|
2028
|
0 |
0 |
if (it == NULL) |
|
2041
|
69 |
0 |
assert(iterator_out && index); |
|
|
0 |
69 |
assert(iterator_out && index); |
|
2044
|
0 |
69 |
GIT_ERROR_CHECK_ALLOC(it); |
|
2061
|
73 |
0 |
assert(ancestor_out && our_out && their_out && iterator); |
|
|
73 |
0 |
assert(ancestor_out && our_out && their_out && iterator); |
|
|
73 |
0 |
assert(ancestor_out && our_out && their_out && iterator); |
|
|
0 |
73 |
assert(ancestor_out && our_out && their_out && iterator); |
|
2067
|
144 |
69 |
while (iterator->cur < iterator->index->entries.length) { |
|
2070
|
4 |
140 |
if (git_index_entry_is_conflict(entry)) { |
|
2071
|
0 |
4 |
if ((len = index_conflict__get_byindex( |
|
2091
|
0 |
69 |
if (iterator == NULL) |
|
2099
|
0 |
17 |
assert(index); |
|
2106
|
0 |
0 |
assert(index); |
|
2114
|
0 |
0 |
if (!ne) |
|
2127
|
0 |
0 |
assert((ancestor && ours) || (ancestor && theirs) || (ours && theirs)); |
|
|
0 |
0 |
assert((ancestor && ours) || (ancestor && theirs) || (ours && theirs)); |
|
|
0 |
0 |
assert((ancestor && ours) || (ancestor && theirs) || (ours && theirs)); |
|
|
0 |
0 |
assert((ancestor && ours) || (ancestor && theirs) || (ours && theirs)); |
|
|
0 |
0 |
assert((ancestor && ours) || (ancestor && theirs) || (ours && theirs)); |
|
|
0 |
0 |
assert((ancestor && ours) || (ancestor && theirs) || (ours && theirs)); |
|
2130
|
0 |
0 |
GIT_ERROR_CHECK_ALLOC(conflict_name); |
|
2132
|
0 |
0 |
if ((ancestor && !(conflict_name->ancestor = git__strdup(ancestor))) || |
|
|
0 |
0 |
if ((ancestor && !(conflict_name->ancestor = git__strdup(ancestor))) || |
|
|
0 |
0 |
if ((ancestor && !(conflict_name->ancestor = git__strdup(ancestor))) || |
|
2133
|
0 |
0 |
(ours && !(conflict_name->ours = git__strdup(ours))) || |
|
|
0 |
0 |
(ours && !(conflict_name->ours = git__strdup(ours))) || |
|
2150
|
0 |
123 |
assert(index); |
|
2152
|
0 |
123 |
git_vector_foreach(&index->names, i, conflict_name) |
|
2164
|
0 |
0 |
assert(index); |
|
2181
|
10 |
0 |
assert(index && reuc && reuc->path != NULL); |
|
|
10 |
0 |
assert(index && reuc && reuc->path != NULL); |
|
|
0 |
10 |
assert(index && reuc && reuc->path != NULL); |
|
2182
|
0 |
10 |
assert(git_vector_is_sorted(&index->reuc)); |
|
2187
|
6 |
4 |
return res == GIT_EEXISTS ? 0 : res; |
|
2198
|
10 |
0 |
assert(index && path); |
|
|
0 |
10 |
assert(index && path); |
|
2200
|
10 |
0 |
if ((error = index_entry_reuc_init(&reuc, path, ancestor_mode, |
|
2201
|
0 |
10 |
ancestor_oid, our_mode, our_oid, their_mode, their_oid)) < 0 || |
|
2217
|
6 |
0 |
assert(index && path); |
|
|
0 |
6 |
assert(index && path); |
|
2219
|
2 |
4 |
if (!index->reuc.length) |
|
2222
|
0 |
4 |
assert(git_vector_is_sorted(&index->reuc)); |
|
2224
|
0 |
4 |
if (git_index_reuc_find(&pos, index, path) < 0) |
|
2233
|
0 |
0 |
assert(index); |
|
2234
|
0 |
0 |
assert(git_vector_is_sorted(&index->reuc)); |
|
2244
|
0 |
0 |
assert(git_vector_is_sorted(&index->reuc)); |
|
2249
|
0 |
0 |
if (!error) |
|
2260
|
0 |
123 |
assert(index); |
|
2262
|
6 |
123 |
for (i = 0; i < index->reuc.length; ++i) |
|
2289
|
0 |
0 |
while (size) { |
|
2293
|
0 |
0 |
if (size <= len) |
|
2297
|
0 |
0 |
GIT_ERROR_CHECK_ALLOC(lost); |
|
2303
|
0 |
0 |
for (i = 0; i < 3; i++) { |
|
2306
|
0 |
0 |
if (git__strntol64(&tmp, buffer, size, &endptr, 8) < 0 || |
|
|
0 |
0 |
if (git__strntol64(&tmp, buffer, size, &endptr, 8) < 0 || |
|
2307
|
0 |
0 |
!endptr || endptr == buffer || *endptr || |
|
|
0 |
0 |
!endptr || endptr == buffer || *endptr || |
|
|
0 |
0 |
!endptr || endptr == buffer || *endptr || |
|
2308
|
0 |
0 |
tmp < 0 || tmp > UINT32_MAX) { |
|
2316
|
0 |
0 |
if (size <= len) { |
|
2326
|
0 |
0 |
for (i = 0; i < 3; i++) { |
|
2327
|
0 |
0 |
if (!lost->mode[i]) |
|
2329
|
0 |
0 |
if (size < 20) { |
|
2340
|
0 |
0 |
if (git_vector_insert(&index->reuc, lost) < 0) |
|
2377
|
0 |
0 |
while (size) { |
|
2379
|
0 |
0 |
GIT_ERROR_CHECK_ALLOC(conflict_name); |
|
2381
|
0 |
0 |
read_conflict_name(conflict_name->ancestor); |
|
|
0 |
0 |
read_conflict_name(conflict_name->ancestor); |
|
|
0 |
0 |
read_conflict_name(conflict_name->ancestor); |
|
2382
|
0 |
0 |
read_conflict_name(conflict_name->ours); |
|
|
0 |
0 |
read_conflict_name(conflict_name->ours); |
|
|
0 |
0 |
read_conflict_name(conflict_name->ours); |
|
2383
|
0 |
0 |
read_conflict_name(conflict_name->theirs); |
|
|
0 |
0 |
read_conflict_name(conflict_name->theirs); |
|
|
0 |
0 |
read_conflict_name(conflict_name->theirs); |
|
2385
|
0 |
0 |
if (git_vector_insert(&index->names, conflict_name) < 0) |
|
2408
|
0 |
232 |
if (varint_len) { |
|
2409
|
0 |
0 |
if (flags & GIT_INDEX_ENTRY_EXTENDED) |
|
2415
|
0 |
232 |
if (flags & GIT_INDEX_ENTRY_EXTENDED) |
|
2438
|
0 |
26 |
if (INDEX_FOOTER_SIZE + minimal_entry_size > buffer_size) |
|
2457
|
0 |
26 |
if (entry.flags & GIT_INDEX_ENTRY_EXTENDED) { |
|
2471
|
26 |
0 |
if (!compressed) { |
|
2476
|
0 |
26 |
if (path_length == 0xFFF) { |
|
2480
|
0 |
0 |
if (path_end == NULL) |
|
2495
|
0 |
0 |
if (varint_len == 0 || last_len < strip_len) |
|
|
0 |
0 |
if (varint_len == 0 || last_len < strip_len) |
|
2501
|
0 |
0 |
GIT_ERROR_CHECK_ALLOC_ADD(&path_len, prefix_len, suffix_len); |
|
|
0 |
0 |
GIT_ERROR_CHECK_ALLOC_ADD(&path_len, prefix_len, suffix_len); |
|
2502
|
0 |
0 |
GIT_ERROR_CHECK_ALLOC_ADD(&path_len, path_len, 1); |
|
|
0 |
0 |
GIT_ERROR_CHECK_ALLOC_ADD(&path_len, path_len, 1); |
|
2504
|
0 |
0 |
if (path_len > GIT_PATH_MAX) |
|
2508
|
0 |
0 |
GIT_ERROR_CHECK_ALLOC(tmp_path); |
|
2516
|
0 |
26 |
if (entry_size == 0) |
|
2519
|
0 |
26 |
if (INDEX_FOOTER_SIZE + entry_size > buffer_size) |
|
2522
|
0 |
26 |
if (index_entry_dup(out, index, &entry) < 0) { |
|
2537
|
0 |
11 |
if (dest->signature != INDEX_HEADER_SIG) |
|
2541
|
11 |
0 |
if (dest->version < INDEX_VERSION_NUMBER_LB || |
|
|
0 |
11 |
if (dest->version < INDEX_VERSION_NUMBER_LB || |
|
2560
|
11 |
0 |
if (dest.extension_size > total_size || |
|
|
11 |
0 |
if (dest.extension_size > total_size || |
|
2561
|
0 |
11 |
buffer_size < total_size || |
|
2568
|
11 |
0 |
if (dest.signature[0] >= 'A' && dest.signature[0] <= 'Z') { |
|
|
11 |
0 |
if (dest.signature[0] >= 'A' && dest.signature[0] <= 'Z') { |
|
2570
|
11 |
0 |
if (memcmp(dest.signature, INDEX_EXT_TREECACHE_SIG, 4) == 0) { |
|
2571
|
0 |
11 |
if (git_tree_cache_read(&index->tree, buffer + 8, dest.extension_size, &index->tree_pool) < 0) |
|
2573
|
0 |
0 |
} else if (memcmp(dest.signature, INDEX_EXT_UNMERGED_SIG, 4) == 0) { |
|
2574
|
0 |
0 |
if (read_reuc(index, buffer + 8, dest.extension_size) < 0) |
|
2576
|
0 |
0 |
} else if (memcmp(dest.signature, INDEX_EXT_CONFLICT_NAME_SIG, 4) == 0) { |
|
2577
|
0 |
0 |
if (read_conflict_names(index, buffer + 8, dest.extension_size) < 0) |
|
2611
|
0 |
11 |
if (buffer_size < INDEX_HEADER_SIZE + INDEX_FOOTER_SIZE) |
|
2619
|
0 |
11 |
if ((error = read_header(&header, buffer)) < 0) |
|
2623
|
0 |
11 |
if (index->version >= INDEX_VERSION_NUMBER_COMP) |
|
2626
|
0 |
11 |
seek_forward(INDEX_HEADER_SIZE); |
|
2628
|
0 |
11 |
assert(!index->entries.length); |
|
2630
|
0 |
11 |
if ((error = index_map_resize(index->entries_map, header.entry_count, index->ignore_case)) < 0) |
|
2634
|
26 |
11 |
for (i = 0; i < header.entry_count && buffer_size > INDEX_FOOTER_SIZE; ++i) { |
|
|
26 |
0 |
for (i = 0; i < header.entry_count && buffer_size > INDEX_FOOTER_SIZE; ++i) { |
|
2638
|
0 |
26 |
if ((error = read_entry(&entry, &entry_size, index, buffer, buffer_size, last)) < 0) { |
|
2643
|
0 |
26 |
if ((error = git_vector_insert(&index->entries, entry)) < 0) { |
|
2648
|
0 |
26 |
if ((error = index_map_set(index->entries_map, entry, index->ignore_case)) < 0) { |
|
2654
|
0 |
26 |
if (index->version >= INDEX_VERSION_NUMBER_COMP) |
|
2657
|
0 |
26 |
seek_forward(entry_size); |
|
2660
|
0 |
11 |
if (i != header.entry_count) { |
|
2666
|
11 |
11 |
while (buffer_size > INDEX_FOOTER_SIZE) { |
|
2669
|
0 |
11 |
if ((error = read_extension(&extension_size, index, buffer, buffer_size)) < 0) { |
|
2673
|
0 |
11 |
seek_forward(extension_size); |
|
2676
|
0 |
11 |
if (buffer_size != INDEX_FOOTER_SIZE) { |
|
2685
|
0 |
11 |
if (git_oid__cmp(&checksum_calculated, &checksum_expected) != 0) { |
|
2698
|
11 |
0 |
git_vector_set_sorted(&index->entries, !index->ignore_case); |
|
2713
|
206 |
97 |
git_vector_foreach(&index->entries, i, entry) { |
|
2715
|
0 |
206 |
if (entry->flags_extended & GIT_INDEX_ENTRY_EXTENDED_FLAGS) { |
|
2736
|
0 |
206 |
if (last) { |
|
2739
|
0 |
0 |
while (*path_start == *last_c) { |
|
2740
|
0 |
0 |
if (!*path_start || !*last_c) |
|
|
0 |
0 |
if (!*path_start || !*last_c) |
|
2752
|
0 |
206 |
if (git_filebuf_reserve(file, &mem, disk_size) < 0) |
|
2782
|
0 |
206 |
if (entry->flags & GIT_INDEX_ENTRY_EXTENDED) { |
|
2796
|
0 |
206 |
if (last) { |
|
2799
|
0 |
0 |
assert(varint_len > 0); |
|
2807
|
0 |
0 |
assert(disk_size == path_len + 1); |
|
2814
|
0 |
206 |
assert(disk_size > path_len); |
|
2832
|
0 |
97 |
if (index->ignore_case) { |
|
2840
|
0 |
97 |
if (index->version >= INDEX_VERSION_NUMBER_COMP) |
|
2843
|
206 |
97 |
git_vector_foreach(entries, i, entry) { |
|
2844
|
0 |
206 |
if ((error = write_disk_entry(file, entry, last)) < 0) |
|
2846
|
0 |
206 |
if (index->version >= INDEX_VERSION_NUMBER_COMP) |
|
2850
|
0 |
97 |
if (index->ignore_case) |
|
2872
|
0 |
0 |
if (conflict_name->ancestor == NULL) |
|
2877
|
0 |
0 |
if (error != 0) |
|
2880
|
0 |
0 |
if (conflict_name->ours == NULL) |
|
2885
|
0 |
0 |
if (error != 0) |
|
2888
|
0 |
0 |
if (conflict_name->theirs == NULL) |
|
2906
|
0 |
0 |
git_vector_foreach(out, i, conflict_name) { |
|
2907
|
0 |
0 |
if ((error = create_name_extension_data(&name_buf, conflict_name)) < 0) |
|
2928
|
0 |
5 |
if ((error = git_buf_put(reuc_buf, reuc->path, strlen(reuc->path) + 1)) < 0) |
|
2931
|
15 |
5 |
for (i = 0; i < 3; i++) { |
|
2932
|
15 |
0 |
if ((error = git_buf_printf(reuc_buf, "%o", reuc->mode[i])) < 0 || |
|
|
0 |
15 |
if ((error = git_buf_printf(reuc_buf, "%o", reuc->mode[i])) < 0 || |
|
2937
|
15 |
5 |
for (i = 0; i < 3; i++) { |
|
2938
|
15 |
0 |
if (reuc->mode[i] && (error = git_buf_put(reuc_buf, (char *)&reuc->oid[i].id, GIT_OID_RAWSZ)) < 0) |
|
|
0 |
15 |
if (reuc->mode[i] && (error = git_buf_put(reuc_buf, (char *)&reuc->oid[i].id, GIT_OID_RAWSZ)) < 0) |
|
2954
|
5 |
5 |
git_vector_foreach(out, i, reuc) { |
|
2955
|
0 |
5 |
if ((error = create_reuc_extension_data(&reuc_buf, reuc)) < 0) |
|
2977
|
0 |
92 |
if (index->tree == NULL) |
|
2980
|
0 |
92 |
if ((error = git_tree_cache_write(&buf, index->tree)) < 0) |
|
2999
|
212 |
99 |
git_vector_foreach(&index->entries, i, entry) |
|
3010
|
97 |
0 |
assert(index && file); |
|
|
0 |
97 |
assert(index && file); |
|
3012
|
97 |
0 |
if (index->version <= INDEX_VERSION_NUMBER_EXT) { |
|
3014
|
0 |
97 |
index_version_number = is_extended ? INDEX_VERSION_NUMBER_EXT : INDEX_VERSION_NUMBER_LB; |
|
3023
|
0 |
97 |
if (git_filebuf_write(file, &header, sizeof(struct index_header)) < 0) |
|
3026
|
0 |
97 |
if (write_entries(index, file) < 0) |
|
3030
|
92 |
5 |
if (index->tree != NULL && write_tree_extension(index, file) < 0) |
|
|
0 |
92 |
if (index->tree != NULL && write_tree_extension(index, file) < 0) |
|
3034
|
0 |
97 |
if (index->names.length > 0 && write_name_extension(index, file) < 0) |
|
|
0 |
0 |
if (index->names.length > 0 && write_name_extension(index, file) < 0) |
|
3038
|
5 |
92 |
if (index->reuc.length > 0 && write_reuc_extension(index, file) < 0) |
|
|
0 |
5 |
if (index->reuc.length > 0 && write_reuc_extension(index, file) < 0) |
|
3046
|
0 |
97 |
if (git_filebuf_write(file, hash_final.id, GIT_OID_RAWSZ) < 0) |
|
3081
|
4 |
9 |
if (git_tree_entry__is_tree(tentry)) |
|
3084
|
0 |
9 |
if (git_buf_joinpath(&path, root, tentry->filename) < 0) |
|
3087
|
0 |
9 |
if (index_entry_create(&entry, INDEX_OWNER(data->index), path.ptr, NULL, false) < 0) |
|
3096
|
9 |
0 |
&pos, data->old_entries, data->entry_cmp, path.ptr, 0, 0) && |
|
3097
|
9 |
0 |
(old_entry = git_vector_get(data->old_entries, pos)) != NULL && |
|
3098
|
9 |
0 |
entry->mode == old_entry->mode && |
|
3108
|
0 |
9 |
if (git_vector_insert(data->new_entries, entry) < 0) { |
|
3125
|
0 |
5 |
if (git_idxmap_new(&entries_map) < 0) |
|
3140
|
0 |
5 |
if ((error = git_tree_walk(tree, GIT_TREEWALK_POST, read_tree_cb, &data)) < 0) |
|
3143
|
0 |
5 |
if ((error = index_map_resize(entries_map, entries.length, index->ignore_case)) < 0) |
|
3146
|
9 |
5 |
git_vector_foreach(&entries, i, e) { |
|
3147
|
0 |
9 |
if ((error = index_map_set(entries_map, e, index->ignore_case)) < 0) { |
|
3157
|
5 |
0 |
if ((error = git_index_clear(index)) < 0) { |
|
3169
|
0 |
5 |
if (error < 0) |
|
3192
|
0 |
2 |
assert((new_iterator->flags & GIT_ITERATOR_DONT_IGNORE_CASE)); |
|
3194
|
2 |
0 |
if ((error = git_vector_init(&new_entries, new_length_hint, index->entries._cmp)) < 0 || |
|
|
2 |
0 |
if ((error = git_vector_init(&new_entries, new_length_hint, index->entries._cmp)) < 0 || |
|
3195
|
2 |
0 |
(error = git_vector_init(&remove_entries, index->entries.length, NULL)) < 0 || |
|
3199
|
2 |
0 |
if (new_length_hint && (error = index_map_resize(new_entries_map, new_length_hint, |
|
|
0 |
2 |
if (new_length_hint && (error = index_map_resize(new_entries_map, new_length_hint, |
|
3206
|
2 |
0 |
if ((error = git_iterator_for_index(&index_iterator, |
|
3207
|
0 |
2 |
git_index_owner(index), index, &opts)) < 0 || |
|
3208
|
0 |
0 |
((error = git_iterator_current(&old_entry, index_iterator)) < 0 && |
|
3209
|
0 |
2 |
error != GIT_ITEROVER) || |
|
3210
|
0 |
0 |
((error = git_iterator_current(&new_entry, new_iterator)) < 0 && |
|
3223
|
6 |
2 |
if (old_entry && new_entry) |
|
|
6 |
0 |
if (old_entry && new_entry) |
|
3225
|
2 |
0 |
else if (!old_entry && new_entry) |
|
|
0 |
2 |
else if (!old_entry && new_entry) |
|
3227
|
0 |
2 |
else if (old_entry && !new_entry) |
|
|
0 |
0 |
else if (old_entry && !new_entry) |
|
3232
|
0 |
6 |
if (diff < 0) { |
|
3234
|
0 |
6 |
} else if (diff > 0) { |
|
3240
|
4 |
2 |
if (git_oid_equal(&old_entry->id, &new_entry->id) && |
|
|
4 |
0 |
if (git_oid_equal(&old_entry->id, &new_entry->id) && |
|
3249
|
2 |
4 |
if (dup_entry) { |
|
3250
|
0 |
2 |
if ((error = index_entry_dup_nocache(&add_entry, index, dup_entry)) < 0) |
|
3260
|
2 |
4 |
if (dup_entry && !remove_entry && index->tree) |
|
|
0 |
2 |
if (dup_entry && !remove_entry && index->tree) |
|
|
0 |
0 |
if (dup_entry && !remove_entry && index->tree) |
|
3263
|
6 |
0 |
if (add_entry) { |
|
3264
|
6 |
0 |
if ((error = git_vector_insert(&new_entries, add_entry)) == 0) |
|
3269
|
2 |
4 |
if (remove_entry && error >= 0) |
|
|
2 |
0 |
if (remove_entry && error >= 0) |
|
3272
|
0 |
6 |
if (error < 0) { |
|
3277
|
6 |
0 |
if (diff <= 0) { |
|
3278
|
2 |
4 |
if ((error = git_iterator_advance(&old_entry, index_iterator)) < 0 && |
|
|
0 |
2 |
if ((error = git_iterator_advance(&old_entry, index_iterator)) < 0 && |
|
3283
|
6 |
0 |
if (diff >= 0) { |
|
3284
|
2 |
4 |
if ((error = git_iterator_advance(&new_entry, new_iterator)) < 0 && |
|
|
0 |
2 |
if ((error = git_iterator_advance(&new_entry, new_iterator)) < 0 && |
|
3290
|
2 |
0 |
if ((error = git_index_name_clear(index)) < 0 || |
|
|
2 |
0 |
if ((error = git_index_name_clear(index)) < 0 || |
|
3297
|
2 |
2 |
git_vector_foreach(&remove_entries, i, entry) { |
|
3298
|
2 |
0 |
if (index->tree) |
|
3328
|
2 |
0 |
if ((error = git_iterator_for_index(&new_iterator, |
|
3364
|
0 |
4 |
assert(index); |
|
3367
|
0 |
4 |
if ((error = git_repository__ensure_not_bare(repo, "index add all")) < 0) |
|
3370
|
0 |
4 |
if ((error = git_pathspec__init(&ps, paths)) < 0) |
|
3374
|
0 |
4 |
if ((flags & GIT_INDEX_ADD_CHECK_PATHSPEC) != 0 && |
|
|
0 |
0 |
if ((flags & GIT_INDEX_ADD_CHECK_PATHSPEC) != 0 && |
|
3375
|
0 |
0 |
(flags & GIT_INDEX_ADD_FORCE) == 0 && |
|
3382
|
0 |
4 |
if (error) |
|
3411
|
6 |
6 |
if (!git_pathspec__match( |
|
3416
|
6 |
0 |
if (data->cb) |
|
3419
|
1 |
5 |
if (error > 0) /* skip this entry */ |
|
3421
|
1 |
4 |
if (error < 0) /* actual error */ |
|
3425
|
0 |
4 |
if ((delta->new_file.flags & GIT_DIFF_FLAG_EXISTS) == 0) |
|
3450
|
0 |
8 |
assert(index); |
|
3451
|
4 |
4 |
assert(action == INDEX_ACTION_UPDATE || action == INDEX_ACTION_ADDALL); |
|
|
0 |
4 |
assert(action == INDEX_ACTION_UPDATE || action == INDEX_ACTION_ADDALL); |
|
3455
|
0 |
8 |
if (!repo) { |
|
3465
|
0 |
8 |
if ((error = git_pathspec__init(&ps, paths)) < 0) |
|
3469
|
4 |
4 |
if (action == INDEX_ACTION_ADDALL) { |
|
3473
|
1 |
3 |
if (flags == GIT_INDEX_ADD_FORCE) |
|
3477
|
0 |
8 |
if ((error = git_diff_index_to_workdir(&diff, repo, index, &opts)) < 0) |
|
3484
|
1 |
7 |
if (error) /* make sure error is set if callback stopped iteration */ |
|
3505
|
0 |
1 |
assert(index); |
|
3507
|
0 |
1 |
if ((error = git_pathspec__init(&ps, paths)) < 0) |
|
3512
|
2 |
0 |
for (i = 0; !error && i < index->entries.length; ++i) { |
|
|
1 |
1 |
for (i = 0; !error && i < index->entries.length; ++i) { |
|
3516
|
0 |
1 |
if (!git_pathspec__match( |
|
3522
|
1 |
0 |
if (cb && (error = cb(entry->path, match, payload)) != 0) { |
|
|
0 |
1 |
if (cb && (error = cb(entry->path, match, payload)) != 0) { |
|
3523
|
0 |
0 |
if (error > 0) { /* return > 0 means skip this one */ |
|
3527
|
0 |
0 |
if (error < 0) /* return < 0 means abort */ |
|
3532
|
0 |
1 |
if ((error = git_buf_sets(&path, entry->path)) < 0) |
|
3541
|
0 |
0 |
if (error == GIT_ENOTFOUND) { |
|
3546
|
0 |
0 |
if (!error) /* back up foreach if we removed this */ |
|
3551
|
1 |
0 |
if (!(error = git_index_remove_bypath(index, path.ptr))) |
|
3576
|
0 |
1 |
if (error) /* make sure error is set if callback stopped iteration */ |
|
3589
|
1 |
3 |
if (error) /* make sure error is set if callback stopped iteration */ |
|
3606
|
0 |
431 |
if (error < 0) |
|
3638
|
0 |
98 |
if (!index->index_file_path) |
|
3642
|
0 |
98 |
if ((error = git_filebuf_open( |
|
3645
|
0 |
0 |
if (error == GIT_ELOCKED) |
|
3664
|
15 |
0 |
if ((error = git_repository_index__weakptr(&index, repo)) < 0 || |
|
|
0 |
15 |
if ((error = git_repository_index__weakptr(&index, repo)) < 0 || |
|
3679
|
0 |
97 |
if (!writer->should_write) |
|
3685
|
0 |
97 |
if ((error = write_index(&checksum, writer->index, &writer->file)) < 0) { |
|
3690
|
0 |
97 |
if ((error = git_filebuf_commit(&writer->file)) < 0) |
|
3693
|
0 |
97 |
if ((error = git_futils_filestamp_check( |