{"thread":{"id":"51312","subject":"Git Test Coverage Report (Friday, June 14)","startedAt":"2019-06-14T10:23:55Z","lastAt":"2019-06-14T10:23:55Z","messageCount":1,"participants":["Derrick Stolee"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"377229","messageId":"121d899d-3ead-e90f-b62a-a6414b70508d@gmail.com","threadId":"51312","inReplyTo":null,"subject":"Git Test Coverage Report (Friday, June 14)","fromName":"Derrick Stolee","fromEmail":"stolee@gmail.com","sentAt":"2019-06-14T10:23:42Z","receivedAt":"2019-06-14T10:23:55Z","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\n-Stolee\n\n[1] https://derrickstolee.github.io/git-test-coverage/reports/2019-06-14.htm\n[2] https://derrickstolee.github.io/git-test-coverage/reports/2019-06-14.txt\n\n---\n\npu\td3545145f9e3f092c0031535c51c6c88e4646c44\njch\tc7b1a102ca91f3fc04951c551da7a92f9113b6c4\nnext\td03e0c960ffbffc6714d0e076319c44163f03ac5\nmaster\t0aae918dd929862d3ce0ea2960897787bb269a3b\nmaster@{1}\tv2.22.0\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\nfetch-pack.c\n\nhttp-fetch.c\n\nhttp.c\n39aed48e 2302) target ? hash_to_hex(target->hash) : base_url,\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\");\na8d662e3 355) send_client_data(1, output_state.buffer, output_state.used);\n820a5361 1386) 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\t7b6e1b04 Move core_partial_clone_filter_default to promisor-remote.c\nChristian Couder\tb21a55f3 promisor-remote: parse remote.*.partialclonefilter\nChristian Couder\t54248706 Add initial support for many promisor remotes\nChristian Couder\t0ba08c05 Remove fetch-object.{c,h} in favor of promisor-remote.{c,h}\nChristian Couder\t7bdf0926 promisor-remote: use repository_format_partial_clone\nDenton Liu\tf39a9c65 remote: add --save-to-push option to git remote set-url\nJonathan Tan\ta8d662e3 upload-pack: refactor reading of pack-objects out\nJonathan Tan\t820a5361 upload-pack: send part of packfile response as uri\nJunio C Hamano\t39aed48e Merge branch 'jt/fetch-cdn-offload' into pu\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.c\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\n70621068 269) chunk_repeated = 1;\n70621068 339) warning(_(\"commit-graph has no base graphs chunk\"));\n70621068 340) return 0;\n3ff26fe3 391) break;\nf0159bf5 540) BUG(\"NULL commit-graph\");\nf0159bf5 543) die(_(\"invalid commit position. commit-graph is likely corrupt\"));\nf0159bf5 603) die(_(\"invalid commit position. commit-graph is likely corrupt\"));\n5e5c46e6 1047) continue;\nef5b83f2 1169) error(_(\"error opening index for %s\"), packname.buf);\nef5b83f2 1170) return -1;\n4c9efe85 1209) continue;\nb2c83060 1232) display_progress(ctx->progress, ctx->approx_nr_objects);\n5e5c46e6 1321) error(_(\"failed to write correct number of base graph ids\"));\n5e5c46e6 1322) return -1;\n238def57 1354) error(_(\"unable to create leading directories of %s\"),\n238def57 1356) return -1;\n5e5c46e6 1366) error(_(\"unable to create '%s'\"), ctx->graph_name);\n5e5c46e6 1367) return -1;\n5e5c46e6 1441) return -1;\n5e5c46e6 1467) error(_(\"unable to open commit-graph chain file\"));\n5e5c46e6 1468) return -1;\nefb38519 1479) error(_(\"failed to rename base commit-graph file\"));\n5e5c46e6 1499) error(_(\"failed to rename temporary commit-graph file\"));\n5e5c46e6 1500) return -1;\n97e2eb8d 1529) break;\n97e2eb8d 1544) ctx->num_commit_graphs_after = 1;\n97e2eb8d 1545) ctx->new_base_graph = NULL;\n857973d4 1621) die(_(\"unexpected duplicate commit id %s\"),\n857973d4 1622)     oid_to_hex(&ctx->commits.list[i]->object.oid));\ne2cd6bfb 1789) ctx->oids.alloc = split_opts->max_commits;\ne103f727 1825) error(_(\"the commit graph format cannot write %d commits\"), count_distinct);\ne103f727 1826) res = -1;\ne103f727 1827) goto cleanup;\ne103f727 1836) error(_(\"too many commits to write graph\"));\ne103f727 1837) res = -1;\ne103f727 1838) 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\n3ff9c400 42) hashmap_entry_init(&entry, sha1hash(key->hash));\n\npackfile.c\n8434e85d 372) strbuf_release(&buf);\n8434e85d 373) return;\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);\n\nsequencer.c\n37e9ee5c 293) ret = -1;\n37e9ee5c 311) ret = error(_(\"could not remove '%s'\"), buf.buf);\n\nsh-i18n--envsubst.c\n568a05c5 252)   size_t j = j1 + ((j2 - j1) >> 1);\n\nt/helper/test-oidmap.c\n8b7e641f 60) if (get_oid(p1, &oid)) {\n8b7e641f 61) printf(\"Unknown oid: %s\\n\", p1);\n8b7e641f 62) continue;\n8b7e641f 66) FLEX_ALLOC_STR(entry, name, p2);\n8b7e641f 67) oidcpy(&entry->entry.oid, &oid);\n8b7e641f 70) oidmap_put(&map, entry);\n8b7e641f 105) if (get_oid(p1, &oid)) {\n8b7e641f 106) printf(\"Unknown oid: %s\\n\", p1);\n8b7e641f 107) continue;\n8b7e641f 111) entry = oidmap_remove(&map, &oid);\n8b7e641f 114) puts(entry ? entry->name : \"NULL\");\n8b7e641f 115) free(entry);\n\nCommits introducting uncovered code:\nChristian Couder\t8b7e641f t/helper: add test-oidmap.c\nChristian Couder\t3ff9c400 oidmap: use sha1hash() instead of static hash() function\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\t8434e85d repack: refactor pack deletion for future use\nDerrick Stolee\tce1e4a10 midx: implement midx_repack()\nDerrick Stolee\td01bf2e6 midx: refactor permutation logic and pack sorting\nDerrick Stolee\te103f727 commit-graph: return with errors during write\nDerrick Stolee\te2cd6bfb commit-graph: create options for split files\nDerrick Stolee\t857973d4 commit-graph: merge commit-graph chains\nDerrick Stolee\t97e2eb8d commit-graph: allow cross-alternate chains\nDerrick Stolee\t238def57 commit-graph: extract write_commit_graph_file()\nDerrick Stolee\tb2c83060 commit-graph: extract fill_oids_from_all_packs()\nDerrick Stolee\t4c9efe85 commit-graph: extract fill_oids_from_commit_hex()\nDerrick Stolee\tef5b83f2 commit-graph: extract fill_oids_from_packs()\nDerrick Stolee\t5e5c46e6 commit-graph: write commit-graph chains\nDerrick Stolee\tefb38519 commit-graph: add --split option to builtin\nDerrick Stolee\tf0159bf5 commit-graph: prepare for commit-graph chains\nDerrick Stolee\t70621068 commit-graph: add base graphs chunk\nDerrick Stolee\t3ff26fe3 commit-graph: load commit-graph chains\nJohannes Schindelin\t08e04506 kwset: allow building with GCC 8\nJonathan Nieder\tee70c128 index: offer advice for unknown index extensions\nNickolai Belakovski\t2582083f ref-filter: add worktreepath atom\nPhilip Oakley\t1fde99cf doc branch: provide examples for listing remote tracking branches\nPhillip Wood\td559f502 rebase --abort/--quit: cleanup refs/rewritten\nPhillip Wood\t37e9ee5c sequencer: return errors from sequencer_remove_state()\nRené Scharfe\t568a05c5 cleanup: fix possible overflow errors in binary search, part 2\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\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\nlist-objects-filter-options.c\n5c03bc8b 94) strbuf_addf(errbuf, _(\"invalid filter-spec '%s'\"), arg);\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\nMatthew DeVore\t5c03bc8b list-objects-filter-options: error is localizeable\n\n\nUncovered code in 'master' not in 'master@{1}'\n--------------------------------------------------------\n\nbuiltin/fast-export.c\ne80001f8 81) static int parse_opt_reencode_mode(const struct option *opt,\ne80001f8 84) if (unset) {\ne80001f8 85) reencode_mode = REENCODE_ABORT;\ne80001f8 86) return 0;\ne80001f8 89) switch (git_parse_maybe_bool(arg)) {\ne80001f8 91) reencode_mode = REENCODE_NO;\ne80001f8 92) break;\ne80001f8 94) reencode_mode = REENCODE_YES;\ne80001f8 95) break;\ne80001f8 97) if (!strcasecmp(arg, \"abort\"))\ne80001f8 98) reencode_mode = REENCODE_ABORT;\ne80001f8 100) return error(\"Unknown reencoding mode: %s\", arg);\ne80001f8 103) return 0;\ne80001f8 665) switch(reencode_mode) {\ne80001f8 667) reencoded = reencode_string(message, \"UTF-8\", encoding);\ne80001f8 668) break;\ne80001f8 670) break;\ne80001f8 672) die(\"Encountered commit-specific encoding %s in commit \"\ne80001f8 674)     encoding, oid_to_hex(&commit->object.oid));\nccbfc96d 686) printf(\"encoding %s\\n\", encoding);\n\nbuiltin/log.c\n13cdf780 873) return 0;\n\nbuiltin/merge.c\nf3f8311e 1290) usage_msg_opt(_(\"--quit expects no arguments\"),\n\nbuiltin/worktree.c\n1de16aec 297) BUG(\"How come '%s' becomes empty after sanitization?\", sb.buf);\n\nbuiltin/write-tree.c\n76a7bc09 53) die(\"%s: prefix %s not found\", me, tree_prefix);\n\nfast-import.c\n3edfcc65 2612) read_next_command();\n3edfcc65 2679) strbuf_addf(&new_data,\n\nread-cache.c\n7bd9631b 2201) src_offset += load_cache_entries_threaded(istate, mmap, mmap_size, nr_threads, ieot);\n\nrefs.c\n1de16aec 111) sanitized->buf[sanitized->len-1] = '-';\n1de16aec 170) if (sanitized)\n1de16aec 171) strbuf_addch(sanitized, '-');\n1de16aec 173) return -1;\n1de16aec 178) strbuf_complete(sanitized, '/');\n1de16aec 215) BUG(\"sanitizing refname '%s' check returned error\", refname);\n\nserver-info.c\nf4f476b6 109) ret = -1;\nf4f476b6 110) goto out;\nf4f476b6 122) goto out;\nf4f476b6 124) goto out;\nf4f476b6 133) if (uic.cur_fp)\nf4f476b6 134) fclose(uic.cur_fp);\n\nCommits introducting uncovered code:\nDenton Liu\t13cdf780 format-patch: teach format.notes config option\nElijah Newren\te80001f8 fast-export: do automatic reencoding of commit messages only if requested\nElijah Newren\tccbfc96d fast-export: avoid stripping encoding header if we cannot reencode\nElijah Newren\t3edfcc65 fast-import: support 'encoding' commit header\nEric Wong\tf4f476b6 update-server-info: avoid needless overwrites\nJeff King\t76a7bc09 cmd_{read,write}_tree: rename \"unused\" variable that is used\nJeff King\t7bd9631b read-cache: drop unused parameter from threaded load\nNguyễn Thái Ngọc Duy\tf3f8311e merge: add --quit\nNguyễn Thái Ngọc Duy\t1de16aec worktree add: sanitize worktree names\n\n"}]}