| line |
true |
false |
branch |
|
31
|
2 |
8 |
if (lineno < final_start_line_number) |
|
33
|
4 |
4 |
if (lineno >= final_start_line_number + lines_in_hunk) |
|
44
|
0 |
6 |
if (a->final_start_line_number > b->final_start_line_number) |
|
46
|
6 |
0 |
else if (a->final_start_line_number < b->final_start_line_number) |
|
69
|
0 |
7 |
if (!hunk) return NULL; |
|
74
|
7 |
0 |
hunk->orig_path = path ? git__strdup(path) : NULL; |
|
87
|
0 |
3 |
if (!newhunk) |
|
112
|
2 |
0 |
if (!git_vector_bsearch2(&i, v, hunk_byfinalline_search_cmp, &start_line)) { |
|
113
|
4 |
2 |
for (; i < v->length; i++) { |
|
126
|
0 |
2 |
if (!gbr) |
|
133
|
2 |
0 |
git_vector_init(&gbr->paths, 8, paths_cmp) < 0 || |
|
134
|
0 |
2 |
(gbr->path = git__strdup(path)) == NULL || |
|
155
|
0 |
2 |
if (!blame) return; |
|
157
|
7 |
2 |
git_vector_foreach(&blame->hunks, i, hunk) |
|
174
|
0 |
7 |
assert(blame); |
|
180
|
0 |
7 |
assert(blame); |
|
187
|
0 |
3 |
assert(blame); |
|
189
|
2 |
1 |
if (!git_vector_bsearch2(&i, &blame->hunks, hunk_byfinalline_search_cmp, &new_lineno)) { |
|
202
|
0 |
1 |
if (!in) in = &dummy; |
|
207
|
1 |
0 |
if (git_oid_is_zero(&out->newest_commit)) { |
|
208
|
0 |
1 |
if (git_reference_name_to_id(&out->newest_commit, repo, "HEAD") < 0) { |
|
214
|
1 |
0 |
if (!out->min_line) out->min_line = 1; |
|
218
|
0 |
1 |
if (out->flags & GIT_BLAME_TRACK_COPIES_ANY_COMMIT_COPIES) |
|
220
|
0 |
1 |
if (out->flags & GIT_BLAME_TRACK_COPIES_SAME_COMMIT_COPIES) |
|
222
|
0 |
1 |
if (out->flags & GIT_BLAME_TRACK_COPIES_SAME_COMMIT_MOVES) |
|
238
|
0 |
0 |
if (rel_line <= 0 || |
|
|
0 |
0 |
if (rel_line <= 0 || |
|
248
|
0 |
0 |
if (!nh) |
|
258
|
0 |
0 |
git_blame_hunk *ret = return_new ? nh : hunk; |
|
275
|
1 |
0 |
if (len && buf[len-1] != '\n') |
|
|
1 |
0 |
if (len && buf[len-1] != '\n') |
|
277
|
25 |
1 |
while (len--) { |
|
278
|
4 |
21 |
if (bol) { |
|
279
|
1 |
3 |
i = git_array_alloc(blame->line_index); |
|
|
3 |
0 |
i = git_array_alloc(blame->line_index); |
|
280
|
0 |
4 |
GIT_ERROR_CHECK_ALLOC(i); |
|
284
|
3 |
22 |
if (*buf++ == '\n') { |
|
289
|
0 |
1 |
i = git_array_alloc(blame->line_index); |
|
|
1 |
0 |
i = git_array_alloc(blame->line_index); |
|
290
|
0 |
1 |
GIT_ERROR_CHECK_ALLOC(i); |
|
301
|
0 |
3 |
if (!h) |
|
317
|
1 |
1 |
if (blame->final_blob) return 0; |
|
320
|
0 |
1 |
if (error < 0) |
|
335
|
1 |
0 |
if ((error = load_blob(blame)) < 0 || |
|
|
1 |
0 |
if ((error = load_blob(blame)) < 0 || |
|
349
|
0 |
1 |
GIT_ERROR_CHECK_ALLOC(ent); |
|
354
|
0 |
1 |
if (blame->options.max_line > 0) |
|
364
|
3 |
1 |
for (ent = blame->ent; ent; ) { |
|
391
|
1 |
0 |
assert(out && repo && path); |
|
|
1 |
0 |
assert(out && repo && path); |
|
|
0 |
1 |
assert(out && repo && path); |
|
392
|
0 |
1 |
if ((error = normalize_options(&normOptions, options, repo)) < 0) |
|
396
|
0 |
1 |
GIT_ERROR_CHECK_ALLOC(blame); |
|
398
|
0 |
1 |
if ((error = load_blob(blame)) < 0) |
|
401
|
0 |
1 |
if ((error = blame_internal(blame)) < 0) |
|
418
|
1 |
0 |
return hunk && git_oid_is_zero(&hunk->final_commit_id); |
|
|
0 |
1 |
return hunk && git_oid_is_zero(&hunk->final_commit_id); |
|
431
|
0 |
1 |
wedge_line = (hunk->old_lines == 0) ? hunk->new_start : hunk->old_start; |
|
435
|
0 |
1 |
if (!blame->current_hunk) { |
|
438
|
0 |
0 |
GIT_ERROR_CHECK_ALLOC(blame->current_hunk); |
|
441
|
0 |
1 |
} else if (!hunk_starts_at_or_after_line(blame->current_hunk, wedge_line)){ |
|
445
|
0 |
0 |
GIT_ERROR_CHECK_ALLOC(blame->current_hunk); |
|
451
|
0 |
0 |
static int ptrs_equal_cmp(const void *a, const void *b) { return ab ? 1 : 0; } |
|
464
|
1 |
1 |
if (line->origin == GIT_DIFF_LINE_ADDITION) { |
|
474
|
0 |
1 |
GIT_ERROR_CHECK_ALLOC(blame->current_hunk); |
|
481
|
1 |
1 |
if (line->origin == GIT_DIFF_LINE_DELETION) { |
|
485
|
0 |
1 |
if (--(blame->current_hunk->lines_in_hunk) == 0) { |
|
488
|
0 |
0 |
if (!git_vector_search2(&i, &blame->hunks, ptrs_equal_cmp, blame->current_hunk)) { |
|
512
|
1 |
0 |
assert(out && reference && buffer && buffer_len); |
|
|
1 |
0 |
assert(out && reference && buffer && buffer_len); |
|
|
1 |
0 |
assert(out && reference && buffer && buffer_len); |
|
|
0 |
1 |
assert(out && reference && buffer && buffer_len); |
|
515
|
0 |
1 |
GIT_ERROR_CHECK_ALLOC(blame); |
|
518
|
3 |
1 |
git_vector_foreach(&reference->hunks, i, hunk) { |
|
520
|
0 |
3 |
GIT_ERROR_CHECK_ALLOC(h); |
|
536
|
0 |
0 |
GIT_INIT_STRUCTURE_FROM_TEMPLATE( |