pu 89b51f611e0e8e10d254fbbfd738adc6d1ea1764
jch c58d47de3eb380e6178eb51a4dc97aa59ddd5ea8
next 55bc3eb7cb9c200ab95bbd2415bc0a35fbf29053
master efe3874640e2e58209ddbb3b072f48f6b7094f34
master@{1} 9fadedd637b312089337d73c3ed8447e9f0aa775

Uncovered code in 'pu' not in 'jch'

pu 89b51f611e0e8e10d254fbbfd738adc6d1ea1764
jch c58d47de3eb380e6178eb51a4dc97aa59ddd5ea8

bugreport.c

d14e00c1 20 strbuf_addf(sys_info, _("uname() failed with error '%s' (%d)\n"),
d14e00c1 22 errno);

builtin/commit-graph.c

builtin/help.c

dd763e68 123 puts(var);
dd763e68 124 continue;

builtin/rebase.c

efcf6cf0 641 } else if (!read_oneliner(&buf, state_dir_path("head", opts),
cd5e0fd9 834 argv_array_push(&am.args, "--ignore-whitespace");
cd5e0fd9 836 argv_array_push(&opts->git_am_opts, "--committer-date-is-author-date");
cd5e0fd9 838 argv_array_push(&opts->git_am_opts, "--ignore-date");
f213f069 902 reset_head(the_repository, &opts->orig_head, "checkout",
f213f069 903 opts->head_name, 0,
86ed00af 1063 apply_autostash(state_dir_path("autostash", opts));

builtin/receive-pack.c

2c26d674 237 return config_error_nonbool(var);
bc3e2729 1019 return code;
bc3e2729 1022 proc.err = 0;
bc3e2729 1027 if (use_sideband)
bc3e2729 1028 finish_async(&muxer);
bc3e2729 1029 return code;
2c26d674 1812 continue;
bc3e2729 2243 packet_buf_write(&buf, "ng %s %s%c%s\n",
bc3e2729 2244 cmd->ref_name, cmd->error_string,

builtin/update-ref.c

a65b8ac2 419 continue;

commit-graph.c

fdbde82f 1777 break;

dir.c

16846444 1924 FREE_AND_NULL(dir->entries[i]);
defd7c7b 2177 return path_none;

help.c

efbace64 641 strbuf_addstr(buf, "no commit associated with this build\n");

refs/files-backend.c

edc30691 2572 strbuf_release(&err);

remote.c

d131afc3 2385 return;

reset.c

b309a971 37 ret = -1;
b309a971 38 goto leave_reset_head;
b309a971 43 goto leave_reset_head;
b309a971 66 goto leave_reset_head;
b309a971 72 goto leave_reset_head;
b309a971 77 goto leave_reset_head;
b309a971 81 ret = -1;
b309a971 82 goto leave_reset_head;
b309a971 90 goto leave_reset_head;
b309a971 109 } else if (old_orig)
b309a971 110 delete_ref(NULL, "ORIG_HEAD", old_orig, 0);

sequencer.c

5b2f6d9c 433 warning_errno(_("could not read '%s'"), path);
cd5e0fd9 877 return NULL;
cd5e0fd9 1394 goto out;
cd5e0fd9 1398 goto out;
cd5e0fd9 1474 res = -1;
cd5e0fd9 1475 goto out;
65c425a2 2643 goto done_rebase_i;
be1bb600 5302 apply_autostash(rebase_path_autostash());

t/helper/test-proc-receive.c

bc3e2729 127 usage_msg_opt("Too many arguments.", proc_receive_usage, options);
bc3e2729 167 *p = '\0';
bc3e2729 168 p += 2;
bc3e2729 169 packet_write_fmt(1, "%s%c%s\n", item->string, '\0', p);

transport-helper.c

d131afc3 756 status = REF_STATUS_UPTODATE;
d131afc3 757 FREE_AND_NULL(msg);
d131afc3 764 status = REF_STATUS_REJECT_ALREADY_EXISTS;
d131afc3 765 FREE_AND_NULL(msg);
d131afc3 768 status = REF_STATUS_REJECT_FETCH_FIRST;
d131afc3 769 FREE_AND_NULL(msg);
d131afc3 772 status = REF_STATUS_REJECT_NEEDS_FORCE;
d131afc3 773 FREE_AND_NULL(msg);
d131afc3 776 status = REF_STATUS_REJECT_STALE;
d131afc3 777 FREE_AND_NULL(msg);
d131afc3 780 forced = 1;

transport.c

d131afc3 481 fprintf(stdout, "%c\t:%s\t", flag,

Commits introducing uncovered code:

Denton Liu 804fe315 sequencer: implement apply_autostash_oid()
Denton Liu be1bb600 sequencer: make apply_autostash() accept a path
Denton Liu 65c425a2 sequencer: stop leaking buf
Denton Liu 5b2f6d9c sequencer: make file exists check more efficient
Denton Liu efcf6cf0 rebase: use read_oneliner()
Denton Liu b309a971 reset: extract reset_head() from rebase
Denton Liu f213f069 rebase: generify reset_head()
Denton Liu 86ed00af rebase: use apply_autostash() from sequencer.c
Denton Liu 0816f1df sequencer: extract perform_autostash() from rebase
Derrick Stolee 0bbd0e8b dir: refactor treat_directory to clarify control flow
Elijah Newren 16846444 dir: include DIR_KEEP_UNTRACKED_CONTENTS handling in treat_directory()
Emily Shaffer d14e00c1 bugreport: add uname info
Emily Shaffer 27da7205 bugreport: add tool to generate debugging info
Emily Shaffer dd763e68 help: move list_config_help to builtin/help
Emily Shaffer efbace64 bugreport: gather git version and build info
Jiang Xin bc3e2729 receive-pack: add new proc-receive hook
Jiang Xin d131afc3 send-pack: extension for client-side status report
Jiang Xin 2c26d674 receive-pack: new config receive.procReceiveRefs
Karsten Blees defd7c7b dir.c: git-status --ignored: don't scan the work tree three times
Patrick Steinhardt edc30691 refs: fix segfault when aborting empty transaction
Patrick Steinhardt a65b8ac2 update-ref: organize commands in an array
Patrick Steinhardt de0e0d65 update-ref: move transaction handling into `update_refs_stdin()`
Patrick Steinhardt e48cf33b update-ref: implement interactive transaction handling
Phillip Wood cd5e0fd9 Revert "Revert "Merge branch 'ra/rebase-i-more-options'""
Phillip Wood 55c7bedb rebase -i: fix --committer-date-is-author-date
Taylor Blau fdbde82f builtin/commit-graph.c: introduce split strategy 'no-merge'
Taylor Blau 8a6ac287 builtin/commit-graph.c: introduce split strategy 'replace'

Uncovered code in 'jch' not in 'next'

jch c58d47de3eb380e6178eb51a4dc97aa59ddd5ea8
next 55bc3eb7cb9c200ab95bbd2415bc0a35fbf29053

blame.c

efb0e3a0 1276 if (origin->commit->generation == GENERATION_NUMBER_INFINITY)
efb0e3a0 1277 return 1;
efb0e3a0 1279 filter = get_bloom_filter(r, origin->commit, 0);
efb0e3a0 1281 if (!filter)
efb0e3a0 1282 return 1;
efb0e3a0 1284 bloom_count_queries++;
efb0e3a0 1285 for (i = 0; i < bd->nr; i++) {
efb0e3a0 1286 if (bloom_filter_contains(filter,
efb0e3a0 1287 bd->keys[i],
efb0e3a0 1288 bd->settings))
efb0e3a0 1289 return 1;
efb0e3a0 1292 bloom_count_no++;
efb0e3a0 1293 return 0;
efb0e3a0 1302 if (bd->nr >= bd->alloc) {
efb0e3a0 1303 bd->alloc *= 2;
efb0e3a0 1304 REALLOC_ARRAY(bd->keys, bd->alloc);
efb0e3a0 1307 bd->keys[bd->nr] = xmalloc(sizeof(struct bloom_key));
efb0e3a0 1308 fill_bloom_key(path, strlen(path), bd->keys[bd->nr], bd->settings);
efb0e3a0 1309 bd->nr++;
efb0e3a0 2903 bd = xmalloc(sizeof(struct blame_bloom_data));
efb0e3a0 2905 bd->settings = sb->repo->objects->commit_graph->bloom_filter_settings;
efb0e3a0 2907 bd->alloc = 4;
efb0e3a0 2908 bd->nr = 0;
efb0e3a0 2909 ALLOC_ARRAY(bd->keys, bd->alloc);
efb0e3a0 2911 add_bloom_key(bd, path);
efb0e3a0 2913 sb->bloom_data = bd;
efb0e3a0 2920 for (i = 0; i < sb->bloom_data->nr; i++) {
efb0e3a0 2921 free(sb->bloom_data->keys[i]->hashes);
efb0e3a0 2922 free(sb->bloom_data->keys[i]);
efb0e3a0 2924 free(sb->bloom_data->keys);
efb0e3a0 2925 FREE_AND_NULL(sb->bloom_data);
efb0e3a0 2927 trace2_data_intmax("blame", sb->repo,
efb0e3a0 2929 trace2_data_intmax("blame", sb->repo,

bloom.c

ed591feb 172 return NULL;
ed591feb 246 for (i = 0; i < diff_queued_diff.nr; i++)
ed591feb 247 diff_free_filepair(diff_queued_diff.queue[i]);
ed591feb 248 filter->data = NULL;
ed591feb 249 filter->len = 0;
a56b9464 266 return -1;

builtin/receive-pack.c

edc6dccf 566 retval = NONCE_BAD;
edc6dccf 567 goto leave;

commit-graph.c

d21ee7d1 69 return; /* should never happen, but be lenient */
d21ee7d1 74 static int commit_pos_cmp(const void *va, const void *vb)
d21ee7d1 76 const struct commit *a = *(const struct commit **)va;
d21ee7d1 77 const struct commit *b = *(const struct commit **)vb;
d21ee7d1 78 return commit_pos_at(&commit_pos, a) -
d21ee7d1 79 commit_pos_at(&commit_pos, b);
3d112755 95 return -1;
3d112755 98 return 0;
76ffbca7 335 chunk_repeated = 1;
76ffbca7 342 chunk_repeated = 1;
76ffbca7 349 break;
76ffbca7 1091 progress = start_delayed_progress(
76ffbca7 1093 ctx->commits.nr);
76ffbca7 1116 progress = start_delayed_progress(
76ffbca7 1118 ctx->commits.nr);
f97b9325 1292 progress = start_delayed_progress(
f97b9325 1294 ctx->commits.nr);
3d112755 1300 QSORT(sorted_commits, ctx->commits.nr, commit_pos_cmp);
72ca4f9b 1979 ctx->changed_paths = 1;

config.c

348482de 537 cf->eof = 1;
348482de 538 return 0;

diff.c

diffcore-rename.c

95acf11a 137 static void prefetch(void *prefetch_options)
95acf11a 139 struct prefetch_options *options = prefetch_options;
95acf11a 141 struct oid_array to_fetch = OID_ARRAY_INIT;
95acf11a 143 for (i = 0; i < rename_dst_nr; i++) {
95acf11a 144 if (rename_dst[i].pair)
95acf11a 149 continue; /* already found exact match */
95acf11a 150 diff_add_if_missing(options->repo, &to_fetch,
95acf11a 151 rename_dst[i].two);
95acf11a 153 for (i = 0; i < rename_src_nr; i++) {
95acf11a 154 if (options->skip_unmodified &&
95acf11a 155 diff_unmodified_pair(rename_src[i].p))
95acf11a 160 continue;
95acf11a 161 diff_add_if_missing(options->repo, &to_fetch,
95acf11a 162 rename_src[i].p->one);
95acf11a 164 promisor_remote_get_direct(options->repo, to_fetch.oid, to_fetch.nr);
95acf11a 165 oid_array_clear(&to_fetch);
95acf11a 166 }

fast-import.c

d8410a81 60 e2 = container_of(entry_or_key, const struct object_entry, ent);
d8410a81 61 return oidcmp(&e1->idx.oid, &e2->idx.oid);

fmt-merge-msg.c

ce6521e4 24 use_branch_desc = git_config_bool(key, value);
ce6521e4 75 continue;
ce6521e4 107 return 1;
ce6521e4 113 return 2;
ce6521e4 117 return 3;
ce6521e4 126 line[len - 1] = 0;
ce6521e4 167 origin = src;
ce6521e4 168 string_list_append(&src_data->generic, line);
ce6521e4 169 src_data->head_status |= 2;
ce6521e4 188 return;
ce6521e4 201 static void add_branch_desc(struct strbuf *out, const char *name)
ce6521e4 203 struct strbuf desc = STRBUF_INIT;
ce6521e4 205 if (!read_branch_desc(&desc, name)) {
ce6521e4 206 const char *bp = desc.buf;
ce6521e4 207 while (*bp) {
ce6521e4 208 const char *ep = strchrnul(bp, '\n');
ce6521e4 209 if (*ep)
ce6521e4 210 ep++;
ce6521e4 211 strbuf_addf(out, " : %.*s", (int)(ep - bp), bp);
ce6521e4 212 bp = ep;
ce6521e4 214 strbuf_complete_line(out);
ce6521e4 216 strbuf_release(&desc);
ce6521e4 217 }
ce6521e4 231 return;
ce6521e4 239 return;
ce6521e4 276 else if (people->nr)
ce6521e4 277 strbuf_addf(out, "%s (%d) and others",
ce6521e4 278 people->items[0].string,
ce6521e4 279 (int)util_as_integral(&people->items[0]));
ce6521e4 342 return;
ce6521e4 355 if (opts->credit_people)
ce6521e4 356 record_person('c', &committers, commit);
ce6521e4 372 string_list_append(&subjects,
ce6521e4 373 oid_to_hex(&commit->object.oid));
ce6521e4 387 add_branch_desc(out, name);
ce6521e4 425 subsep = ", ";
ce6521e4 426 strbuf_addstr(out, "HEAD");
ce6521e4 446 strbuf_addstr(out, subsep);
ce6521e4 447 print_joined("commit ", "commits ", &src_data->generic,
4cdae8d2 498 strbuf_addstr(&sig, "gpg verification failed.\n");
ce6521e4 507 if (tag_number == 2) {
ce6521e4 508 struct strbuf tagline = STRBUF_INIT;
ce6521e4 509 strbuf_addch(&tagline, '\n');
ce6521e4 510 strbuf_add_commented_lines(&tagline,
ce6521e4 511 origins.items[first_tag].string,
ce6521e4 512 strlen(origins.items[first_tag].string));
ce6521e4 513 strbuf_insert(&tagbuf, 0, tagline.buf,
ce6521e4 515 strbuf_release(&tagline);
ce6521e4 517 strbuf_addch(&tagbuf, '\n');
ce6521e4 518 strbuf_add_commented_lines(&tagbuf,
ce6521e4 519 origins.items[i].string,
ce6521e4 520 strlen(origins.items[i].string));
ce6521e4 521 fmt_tag_signature(&tagbuf, &sig, buf, len);
ce6521e4 566 continue;

prune-packed.c

9460fd48 26 printf("rm -f %s\n", path);
9460fd48 35 progress = start_delayed_progress(_("Removing duplicate objects"), 256);

revision.c

88d2bac8 658 return 1;
88d2bac8 662 return 1;
a56b9464 721 return -1;
a56b9464 724 return -1;
42e50e78 734 count_bloom_filter_length_zero++;
a56b9464 735 return -1;

t/helper/test-bloom.c

f1294eaf 25 printf("No filter.\n");
f1294eaf 26 return;

tree-diff.c

e3696980 438 break;

Commits introducing uncovered code:

brian m. carlson edc6dccf builtin/receive-pack: use constant-time comparison for HMAC value
Denton Liu 9460fd48 Lib-ify prune-packed
Denton Liu ce6521e4 Lib-ify fmt-merge-msg
Derrick Stolee efb0e3a0 blame: use changed-path Bloom filters
Derrick Stolee 88d2bac8 revision: complicated pathspecs disable filters
Derrick Stolee e3696980 diff: halt tree-diff early after max_changes
Derrick Stolee 72ca4f9b commit: write commit-graph with Bloom filters
Derrick Stolee 46870e1a commit-graph: write commit-graph in more tests
Garima Singh 76ffbca7 commit-graph: write Bloom filters to commit graph file
Garima Singh 3d112755 commit-graph: examine commits by generation number
Garima Singh a56b9464 revision.c: use Bloom filters to speed up path based revision walks
Garima Singh ed591feb bloom.c: core Bloom filter implementation for changed paths.
Garima Singh 42e50e78 revision.c: add trace2 stats around Bloom filter usage
Garima Singh f1294eaf bloom.c: introduce core Bloom filter constructs
Garima Singh f97b9325 commit-graph: compute Bloom filters for changed paths
Jeff King 348482de config: reject parsing of files over INT_MAX
Jeff King d8410a81 fast-import: replace custom hash with hashmap.c
Jeff King d21ee7d1 commit-graph: examine changed-path objects in pack order
Jonathan Tan 95acf11a diff: restrict when prefetching occurs
Jonathan Tan c14b6f83 diff: refactor object read
Junio C Hamano 4cdae8d2 Merge branch 'dl/libify-a-few' into jch

Uncovered code in 'next' not in 'master'

next 55bc3eb7cb9c200ab95bbd2415bc0a35fbf29053
master efe3874640e2e58209ddbb3b072f48f6b7094f34

builtin/rebase.c

oid-array.c

5cc044e0 56 return ret;
16ddcd40 76 return ret;

remote.c

1fec6fa2 1656 return NULL;
1fec6fa2 1663 return branch->refname;
1fec6fa2 1681 return NULL;
e3165570 1766 return NULL;
1fec6fa2 1808 return NULL;

sequencer.c

b9cbd295 4674 continue;

t/helper/test-oid-array.c

910650d2 29 oid_array_clear(&array);

trace2/tr2_cfg.c

3d3adaad 63 return tr2_cfg_env_vars_count;

unpack-trees.c

7af7a258 1847 ret = UPDATE_SPARSITY_WORKTREE_UPDATE_FAILURES;

wrapper.c

7cd54d37 221 len = MAX_IO_SIZE;
7cd54d37 243 len = MAX_IO_SIZE;

Commits introducing uncovered code:

Ævar Arnfjörð Bjarmason 5cc044e0 get_short_oid: sort ambiguous objects by type, then SHA-1
brian m. carlson 910650d2 Rename sha1_array to oid_array
Damien Robert 1fec6fa2 remote.c: fix handling of %(push:remoteref)
Damien Robert e3165570 remote.c: fix %(push) for triangular workflows
Denton Liu 7cd54d37 wrapper: indent with tabs
Elijah Newren 50ed7614 rebase: fix an incompatible-options error message
Elijah Newren b9cbd295 rebase: reinstate --no-keep-empty
Elijah Newren 7af7a258 unpack-trees: add a new update_sparsity() function
Jeff King 16ddcd40 sha1_array: let callbacks interrupt iteration
Jeff King ed4b804e test-tool: rename sha1-array to oid-array
Josh Steadmon 3d3adaad trace2: teach Git to log environment variables

Uncovered code in 'master' not in 'master@{1}'

master efe3874640e2e58209ddbb3b072f48f6b7094f34
master@{1} 9fadedd637b312089337d73c3ed8447e9f0aa775

credential.c

Commits introducing uncovered code:

Jeff King 9a6bbee8 credential: avoid writing values with newlines