{"thread":{"id":"51355","subject":"Git Test Coverage Report (Thurs, June 20)","startedAt":"2019-06-20T16:50:42Z","lastAt":"2019-06-20T16:50:42Z","messageCount":1,"participants":["Derrick Stolee"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"377676","messageId":"159ea9a6-1537-8ecc-d707-d7c131e8d9ec@gmail.com","threadId":"51355","inReplyTo":null,"subject":"Git Test Coverage Report (Thurs, June 20)","fromName":"Derrick Stolee","fromEmail":"stolee@gmail.com","sentAt":"2019-06-20T16:50:38Z","receivedAt":"2019-06-20T16:50:42Z","isPatch":false,"sender":{"key":"stolee@gmail.com","avatar":"https://avatars.githubusercontent.com/u/570044?v=4"},"body":"Here is today's test coverage report.\n\nThanks,\n-Stolee\n\n[1] https://derrickstolee.github.io/git-test-coverage/reports/2019-06-20.htm\n[2] https://derrickstolee.github.io/git-test-coverage/reports/2019-06-20.txt\n\n---\n\npu\t3f0adadc5dcf9bbc8a1f8a8075b3adca93cfa6a8\njch\t956887a8ce1b8d4faa043b5780895e9c811c9b07\nnext\t172b71a6c5b95846749746f7d63238d5f702bb00\nmaster\ta6a95cd1b46e48e5fe06bdbb0839a67ebeef4682\nmaster@{1}\t0aae918dd929862d3ce0ea2960897787bb269a3b\n\n\nUncovered code in 'pu' not in 'jch'\n--------------------------------------------------------\n\nblame.c\n1fc73384 990) return;\n4c2c1b89 1599) continue;\nae3f36de 2417) continue;\n\nbuiltin/blame.c\n\nbuiltin/cat-file.c\n\nbuiltin/fetch-pack.c\n\nbuiltin/pack-objects.c\n\nbuiltin/remote.c\nf39a9c65 1551) die(_(\"--save-to-push cannot be used with other options\"));\nf39a9c65 1575) die(_(\"--save-to-push can only be used when only one url is defined\"));\n\nbuiltin/rev-list.c\n9b93d269 476) die(\n\nfetch-pack.c\n820a5361 1384) die(\"expected '<hash> <uri>', got: %s\\n\", reader->line);\n820a5361 1389) die(\"expected DELIM\");\n820a5361 1516) die(\"fetch-pack: unable to spawn http-fetch\");\n820a5361 1520) die(\"fetch-pack: expected keep then TAB at start of http-fetch output\");\n820a5361 1525) die(\"fetch-pack: expected hash then LF at end of http-fetch output\");\n820a5361 1532) die(\"fetch-pack: unable to finish http-fetch\");\n820a5361 1536) die(\"fetch-pack: pack downloaded from %s does not match expected hash %.*s\",\n820a5361 1537)     uri, (int) the_hash_algo->hexsz,\n820a5361 1538)     packfile_uris.items[i].string);\n\nhttp-fetch.c\n\nhttp.c\neee30324 2304) target ? hash_to_hex(target->hash) : base_url,\n\nlist-objects-filter-options.c\nd3d10e56 44) BUG(\"filter_options already populated\");\nd3d10e56 236) die(_(\"multiple filter-specs cannot be combined\"));\n9b93d269 286) BUG(\"no filter_spec available for this filter\");\n1e43301f 321) return;\n\nlist-objects-filter.c\n1e43301f 583) BUG(\"expected oidset to be cleared already\");\n\nlist-objects.c\naa36553a 210) ctx->show_object(obj, base->buf, ctx->show_data);\n\noidset.c\n\npromisor-remote.c\n0ba08c05 25) die(_(\"Remote with no URL\"));\n54248706 61) warning(_(\"promisor remote name cannot begin with '/': %s\"),\n54248706 63) return NULL;\n7bdf0926 93) previous->next = r->next;\n7b6e1b04 108) return git_config_string(&core_partial_clone_filter_default,\nb21a55f3 139) return 0;\ndcc8b4e9 202) static int remove_fetched_oids(struct object_id **oids, int oid_nr, int to_free)\ndcc8b4e9 204) int i, missing_nr = 0;\ndcc8b4e9 205) int *missing = xcalloc(oid_nr, sizeof(*missing));\ndcc8b4e9 206) struct object_id *old_oids = *oids;\ndcc8b4e9 208) int old_fetch_if_missing = fetch_if_missing;\ndcc8b4e9 210) fetch_if_missing = 0;\ndcc8b4e9 212) for (i = 0; i < oid_nr; i++)\ndcc8b4e9 213) if (oid_object_info_extended(the_repository, &old_oids[i], NULL, 0)) {\ndcc8b4e9 214) missing[i] = 1;\ndcc8b4e9 215) missing_nr++;\ndcc8b4e9 218) fetch_if_missing = old_fetch_if_missing;\ndcc8b4e9 220) if (missing_nr) {\ndcc8b4e9 221) int j = 0;\ndcc8b4e9 222) new_oids = xcalloc(missing_nr, sizeof(*new_oids));\ndcc8b4e9 223) for (i = 0; i < oid_nr; i++)\ndcc8b4e9 224) if (missing[i])\ndcc8b4e9 225) oidcpy(&new_oids[j++], &old_oids[i]);\ndcc8b4e9 226) *oids = new_oids;\ndcc8b4e9 227) if (to_free)\ndcc8b4e9 228) free(old_oids);\ndcc8b4e9 231) free(missing);\ndcc8b4e9 233) return missing_nr;\ndcc8b4e9 248) if (missing_nr == 1)\ndcc8b4e9 249) continue;\ndcc8b4e9 250) missing_nr = remove_fetched_oids(&missing_oids, missing_nr, to_free);\ndcc8b4e9 251) if (missing_nr) {\ndcc8b4e9 252) to_free = 1;\ndcc8b4e9 253) continue;\ndcc8b4e9 261) free(missing_oids);\n\nprotocol.c\n\nremote-curl.c\n\nupload-pack.c\na8d662e3 130) return readsz;\n820a5361 149) BUG(\"packfile_uris requires sideband-all\");\n9b93d269 221) sq_quote_buf(&buf, spec);\na8d662e3 354) send_client_data(1, output_state.buffer, output_state.used);\n820a5361 1387) string_list_clear(&data->uri_protocols, 0);\n\nwrapper.c\n\nCommits introducting uncovered code:\nBarret Rhoden\t1fc73384 blame: optionally track line fingerprints during fill_blame_origin()\nBarret Rhoden\t4c2c1b89 blame: use the fingerprint heuristic to match ignored lines\nBarret Rhoden\tae3f36de blame: add the ability to ignore commits and their changes\nChristian Couder\tdcc8b4e9 promisor-remote: implement promisor_remote_get_direct()\nChristian Couder\tb21a55f3 promisor-remote: parse remote.*.partialclonefilter\nChristian Couder\t7b6e1b04 Move core_partial_clone_filter_default to promisor-remote.c\nChristian Couder\t7bdf0926 promisor-remote: use repository_format_partial_clone\nChristian Couder\t0ba08c05 Remove fetch-object.{c,h} in favor of promisor-remote.{c,h}\nChristian Couder\t54248706 Add initial support for many promisor remotes\nDenton Liu\tf39a9c65 remote: add --save-to-push option to git remote set-url\nJonathan Tan\t820a5361 upload-pack: send part of packfile response as uri\nJonathan Tan\ta8d662e3 upload-pack: refactor reading of pack-objects out\nJunio C Hamano\teee30324 Merge branch 'jt/fetch-cdn-offload' into pu\nMatthew DeVore\t1e43301f list-objects-filter: implement composite filters\nMatthew DeVore\td3d10e56 list-objects-filter-options: move error check up\nMatthew DeVore\t9b93d269 list-objects-filter-options: make filter_spec a string_list\nMatthew DeVore\taa36553a list-objects-filter: make API easier to use\n\n\nUncovered code in 'jch' not in 'next'\n--------------------------------------------------------\n\nbuiltin/branch.c\n1fde99cf 841) die(_(\"The -a, and -r, options to 'git branch' do not take a branch name.\\n\"\n\nbuiltin/checkout.c\n\nbuiltin/commit-graph.c\nc2bc6e6a 203) return 1;\n\nbuiltin/commit.c\ne103f727 1677) return 1;\n\nbuiltin/gc.c\n\nbuiltin/multi-pack-index.c\n\nbuiltin/rebase.c\nd559f502 759) ret = error(_(\"could not remove '%s'\"),\n526c03b5 1272) goto done;\n10572de1 1288) goto done;\nd559f502 1675) error(_(\"could not remove '%s'\"),\n\ncommit-graph.c\n118bd570 277) chunk_repeated = 1;\n118bd570 347) warning(_(\"commit-graph has no base graphs chunk\"));\n118bd570 348) return 0;\n5c84b339 401) break;\nd4f4d60f 550) BUG(\"NULL commit-graph\");\nd4f4d60f 553) die(_(\"invalid commit position. commit-graph is likely corrupt\"));\nd4f4d60f 613) die(_(\"invalid commit position. commit-graph is likely corrupt\"));\n6c622f9f 1057) continue;\nef5b83f2 1179) error(_(\"error opening index for %s\"), packname.buf);\nef5b83f2 1180) return -1;\n4c9efe85 1219) continue;\nb2c83060 1242) display_progress(ctx->progress, ctx->approx_nr_objects);\n6c622f9f 1331) error(_(\"failed to write correct number of base graph ids\"));\n6c622f9f 1332) return -1;\n238def57 1364) error(_(\"unable to create leading directories of %s\"),\n238def57 1366) return -1;\n6c622f9f 1376) error(_(\"unable to create '%s'\"), ctx->graph_name);\n6c622f9f 1377) return -1;\n6c622f9f 1451) return -1;\n6c622f9f 1477) error(_(\"unable to open commit-graph chain file\"));\n6c622f9f 1478) return -1;\n135a7123 1489) error(_(\"failed to rename base commit-graph file\"));\n6c622f9f 1509) error(_(\"failed to rename temporary commit-graph file\"));\n6c622f9f 1510) return -1;\nc523035c 1539) break;\nc523035c 1554) ctx->num_commit_graphs_after = 1;\nc523035c 1555) ctx->new_base_graph = NULL;\n1771be90 1631) die(_(\"unexpected duplicate commit id %s\"),\n1771be90 1632)     oid_to_hex(&ctx->commits.list[i]->object.oid));\nc2bc6e6a 1806) ctx->oids.alloc = split_opts->max_commits;\ne103f727 1842) error(_(\"the commit graph format cannot write %d commits\"), count_distinct);\ne103f727 1843) res = -1;\ne103f727 1844) goto cleanup;\ne103f727 1853) error(_(\"too many commits to write graph\"));\ne103f727 1854) res = -1;\ne103f727 1855) goto cleanup;\n\nconfig.c\n07b2c0ea 283) return 0;\n\nkwset.c\n08e04506 45) BUG(\"Cannot allocate a negative amount: %ld\", size);\n\nmidx.c\nd01bf2e6 478) close_pack(packs->info[packs->nr].p);\nd01bf2e6 479) FREE_AND_NULL(packs->info[packs->nr].p);\n19575c7c 738) BUG(\"object %s is in an expired pack with int-id %d\",\n19575c7c 865) error(_(\"did not see pack-file %s to drop\"),\n19575c7c 867) drop_index++;\n19575c7c 868) missing_drops++;\n19575c7c 869) i--;\n19575c7c 876) result = 1;\n19575c7c 877) goto cleanup;\n19575c7c 1194) return 0;\n19575c7c 1209) continue;\nce1e4a10 1248) return 0;\nce1e4a10 1275) continue;\nce1e4a10 1295) continue;\nce1e4a10 1297) continue;\nce1e4a10 1329) return 0;\nce1e4a10 1350) error(_(\"could not start pack-objects\"));\nce1e4a10 1351) result = 1;\nce1e4a10 1352) goto cleanup;\nce1e4a10 1369) error(_(\"could not finish pack-objects\"));\nce1e4a10 1370) result = 1;\nce1e4a10 1371) goto cleanup;\n\nname-hash.c\n568a05c5 348) assert(begin >= 0);\n568a05c5 350) int mid = begin + ((end - begin) >> 1);\n\noidmap.c\n19cfa0e0 42) hashmap_entry_init(&entry, sha1hash(key->hash));\n\npackfile.c\n8434e85d 372) strbuf_release(&buf);\n8434e85d 373) return;\n921d49be 1303) COPY_ARRAY(poi_stack, small_poi_stack, poi_stack_nr);\n921d49be 1713) COPY_ARRAY(delta_stack, small_delta_stack,\n\npager.c\n0ec9e491 197) fputs(\"\\r\\033[K\", stderr);\n\nprogress.c\n70d07115 121) fprintf(stderr, \"  %s%s\", counters_sb->buf,\n70d07115 127) fprintf(stderr, \"%s:\\n  %s%s\",\n\nread-cache.c\nee70c128 1723) if (advice_unknown_index_extension) {\nee70c128 1724) warning(_(\"ignoring optional %.4s index extension\"), ext);\nee70c128 1725) advise(_(\"This is likely due to the file having been written by a newer\\n\"\n\nref-filter.c\n2582083f 93) keydata_aka_refname ? keydata_aka_refname : k->wt->head_ref);\n28438e84 1500) strbuf_addstr(&desc, _(\"no branch\"));\n\nsequencer.c\n37e9ee5c 293) ret = -1;\n37e9ee5c 311) ret = error(_(\"could not remove '%s'\"), buf.buf);\n6bd767d1 2669) in_progress_error = _(\"revert is already in progress\");\n6bd767d1 2670) in_progress_advice =\n6bd767d1 2672) break;\n6bd767d1 2679) BUG(\"unexpected action in create_seq_dir\");\nf4b0f3c8 2779) return error(_(\"cannot resolve HEAD\"));\nf4b0f3c8 2862) if (!rollback_is_safe())\nf4b0f3c8 2863) goto give_advice;\nf4b0f3c8 2875) BUG(\"unexpected action in sequencer_skip\");\nf4b0f3c8 2879) return error(_(\"failed to skip the commit\"));\n\nsh-i18n--envsubst.c\n568a05c5 252)   size_t j = j1 + ((j2 - j1) >> 1);\n\nt/helper/test-oidmap.c\n11510dec 52) if (get_oid(p1, &oid)) {\n11510dec 53) printf(\"Unknown oid: %s\\n\", p1);\n11510dec 54) continue;\n11510dec 58) FLEX_ALLOC_STR(entry, name, p2);\n11510dec 59) oidcpy(&entry->entry.oid, &oid);\n11510dec 62) oidmap_put(&map, entry);\n11510dec 97) if (get_oid(p1, &oid)) {\n11510dec 98) printf(\"Unknown oid: %s\\n\", p1);\n11510dec 99) continue;\n11510dec 103) entry = oidmap_remove(&map, &oid);\n11510dec 106) puts(entry ? entry->name : \"NULL\");\n11510dec 107) free(entry);\n\nCommits introducting uncovered code:\nChristian Couder\t19cfa0e0 oidmap: use sha1hash() instead of static hash() function\nChristian Couder\t11510dec t/helper: add test-oidmap.c\nDenton Liu\t526c03b5 rebase: refactor can_fast_forward into goto tower\nDenton Liu\t10572de1 rebase: fast-forward --onto in more cases\nDenton Liu\t07b2c0ea config: learn the \"onbranch:\" includeIf condition\nDerrick Stolee\t19575c7c multi-pack-index: implement 'expire' subcommand\nDerrick Stolee\td01bf2e6 midx: refactor permutation logic and pack sorting\nDerrick Stolee\t8434e85d repack: refactor pack deletion for future use\nDerrick Stolee\t1771be90 commit-graph: merge commit-graph chains\nDerrick Stolee\tc523035c commit-graph: allow cross-alternate chains\nDerrick Stolee\t135a7123 commit-graph: add --split option to builtin\nDerrick Stolee\t238def57 commit-graph: extract write_commit_graph_file()\nDerrick Stolee\t4c9efe85 commit-graph: extract fill_oids_from_commit_hex()\nDerrick Stolee\tce1e4a10 midx: implement midx_repack()\nDerrick Stolee\tef5b83f2 commit-graph: extract fill_oids_from_packs()\nDerrick Stolee\t6c622f9f commit-graph: write commit-graph chains\nDerrick Stolee\td4f4d60f commit-graph: prepare for commit-graph chains\nDerrick Stolee\t5c84b339 commit-graph: load commit-graph chains\nDerrick Stolee\t118bd570 commit-graph: add base graphs chunk\nDerrick Stolee\te103f727 commit-graph: return with errors during write\nDerrick Stolee\tc2bc6e6a commit-graph: create options for split files\nDerrick Stolee\tb2c83060 commit-graph: extract fill_oids_from_all_packs()\nJohannes Schindelin\t08e04506 kwset: allow building with GCC 8\nJonathan Nieder\tee70c128 index: offer advice for unknown index extensions\nMatthew DeVore\t28438e84 ref-filter: sort detached HEAD lines firstly\nNickolai Belakovski\t2582083f ref-filter: add worktreepath atom\nPhilip Oakley\t1fde99cf doc branch: provide examples for listing remote tracking branches\nPhillip Wood\t37e9ee5c sequencer: return errors from sequencer_remove_state()\nPhillip Wood\td559f502 rebase --abort/--quit: cleanup refs/rewritten\nRené Scharfe\t921d49be use COPY_ARRAY for copying arrays\nRené Scharfe\t568a05c5 cleanup: fix possible overflow errors in binary search, part 2\nRohit Ashiwal\t6bd767d1 sequencer: add advice for revert\nRohit Ashiwal\tf4b0f3c8 cherry-pick/revert: add --skip option\nSZEDER Gábor\t70d07115 progress: use term_clear_line()\nSZEDER Gábor\t0ec9e491 pager: add a helper function to clear the last line in the terminal\n\n\nUncovered code in 'next' not in 'master'\n--------------------------------------------------------\n\nlist-objects-filter-options.c\n5c03bc8b 94) strbuf_addf(errbuf, _(\"invalid filter-spec '%s'\"), arg);\n\nCommits introducting uncovered code:\nMatthew DeVore\t5c03bc8b list-objects-filter-options: error is localizeable\n\n\nUncovered code in 'master' not in 'master@{1}'\n--------------------------------------------------------\n\nbuiltin/am.c\n97387c8b 1662) die(\"unable to read from stdin; aborting\");\n6e7baf24 2336) die(_(\"interactive mode requires patches on the command line\"));\n\nbuiltin/bisect--helper.c\n7877ac3d 574) retval = error(_(\"invalid ref: '%s'\"), start_head.buf);\n7877ac3d 575) goto finish;\n\ngrep.c\nde99eb0c 1784) BUG(\"grep call which could print a name requires \"\n\nCommits introducting uncovered code:\nEmily Shaffer\tde99eb0c grep: fail if call could output and name is null\nJeff King\t97387c8b am: read interactive input from stdin\nJeff King\t6e7baf24 am: drop tty requirement for --interactive\nJohannes Schindelin\t7877ac3d bisect--helper: verify HEAD could be parsed before continuing\n\n"}]}