{"thread":{"id":"51554","subject":"Git Test Coverage Report (v2.23.0-rc0)","startedAt":"2019-07-30T13:07:07Z","lastAt":"2019-07-30T13:07:07Z","messageCount":1,"participants":["Derrick Stolee"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"379578","messageId":"9991a0b8-ae4d-beef-2d8a-a3a38773e181@gmail.com","threadId":"51554","inReplyTo":null,"subject":"Git Test Coverage Report (v2.23.0-rc0)","fromName":"Derrick Stolee","fromEmail":"stolee@gmail.com","sentAt":"2019-07-30T13:07:02Z","receivedAt":"2019-07-30T13:07:07Z","isPatch":false,"sender":{"key":"stolee@gmail.com","avatar":"https://avatars.githubusercontent.com/u/570044?v=4"},"body":"Here is the test coverage report for the changes in v2.23.0-rc0 since v2.22.0.\n\nThanks,\n-Stolee\n\n[1] https://derrickstolee.github.io/git-test-coverage/reports/v2.23.0-rc0.htm\n[2] https://derrickstolee.github.io/git-test-coverage/reports/v2.23.0-rc0.txt\n\n---\n\napply.c\n85c3713d 1187) cp = skip_tree_prefix(p_value, second, line + llen - second);\n\narchive.c\n50ddb089 421) err = get_tree_entry(ar_args->repo,\n50ddb089 422)      &tree->object.oid,\n\nblame.c\n1fc73384 990) return;\na07a9776 1599) continue;\nae3f36de 2416) continue;\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\nbuiltin/blame.c\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\nd16dc428 1345) warning(_(\"you are switching branch while bisecting\"));\n3ec37ad1 1370) die(_(\"'%s' cannot be used with '%s'\"), \"--discard-changes\", \"--merge\");\nc9c935f6 1508) BUG(\"make up your mind, you need to take _something_\");\n183fb44f 1540) opts->checkout_index = 0;\n183fb44f 1550) BUG(\"these flags should be non-negative by now\");\nc9c935f6 1611) die(_(\"could not resolve %s\"), opts->from_treeish);\n\nbuiltin/clean.c\nb09364c4 198) warning_errno(_(msg_warn_lstat_failed), path->buf);\n\nbuiltin/clone.c\n14954b79 407) die_errno(_(\"failed to create directory '%s'\"), pathname);\n14954b79 409) die_errno(_(\"failed to stat '%s'\"), pathname);\nff7ccc8c 428) die_errno(_(\"failed to start iterator over '%s'\"), src->buf);\nff7ccc8c 466) strbuf_setlen(src, src_len);\nff7ccc8c 467) die(_(\"failed to iterate over '%s'\"), src->buf);\n\nbuiltin/commit-graph.c\nc2bc6e6a 203) return 1;\n\nbuiltin/commit.c\ne103f727 1694) return 1;\n\nbuiltin/env--helper.c\nb4f207f3 23) die(_(\"unrecognized --type argument, %s\"), arg);\nb4f207f3 67) default_int = 0;\nb4f207f3 82) default_ulong = 0;\nb4f207f3 90) BUG(\"unknown <type> value\");\n\nbuiltin/fast-export.c\ne80001f8 85) reencode_mode = REENCODE_ABORT;\ne80001f8 86) return 0;\ne80001f8 100) return error(\"Unknown reencoding mode: %s\", arg);\n\nbuiltin/fetch.c\ncdbd70c4 88) fetch_show_forced_updates = git_config_bool(k, v);\ncdbd70c4 89) return 0;\n377444b4 1011) warning(_(\"It took %.2f seconds to check forced updates. You can use '--no-show-forced-updates'\\n\"),\n377444b4 1013) warning(_(\"or run 'git config fetch.showForcedUpdates false' to avoid this check.\\n\"));\n\nbuiltin/gc.c\n\nbuiltin/log.c\nf0596ecc 219) warning(\"%s\\n\", _(warn_unspecified_mailmap_msg));\n13cdf780 895) return 0;\n\nbuiltin/merge.c\nf3f8311e 1291) usage_msg_opt(_(\"--quit expects no arguments\"),\n\nbuiltin/multi-pack-index.c\n\nbuiltin/pull.c\n3883c551 556) argv_array_push(&args, \"--show-forced-updates\");\n3883c551 558) argv_array_push(&args, \"--no-show-forced-updates\");\n\nbuiltin/rebase.c\nd559f502 759) ret = error(_(\"could not remove '%s'\"),\nd559f502 1645) error(_(\"could not remove '%s'\"),\n906b6394 1797) die(_(\"--reschedule-failed-exec requires \"\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\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;\n2e43cd4c 998)     value, name, cf->name, _(error_type));\n2e43cd4c 1007)     value, name, cf->name, _(error_type));\n2e43cd4c 1010)     value, name, cf->name, _(error_type));\n2e43cd4c 1013)     value, name, cf->name, _(error_type));\n\ndelta-islands.c\nbdbdf42f 467) fprintf(stderr, _(\"Marked %d islands, done.\\n\"), island_counter);\n\ndir-iterator.c\n3012397e 88) warning_errno(\"error closing directory '%s'\",\nfa1da7d2 122) warning_errno(\"failed to stat '%s'\", iter->base.path.buf);\nfa1da7d2 137) goto error_out;\n3012397e 152) warning_errno(\"error reading directory '%s'\",\nfa1da7d2 154) if (iter->flags & DIR_ITERATOR_PEDANTIC)\nfa1da7d2 155) goto error_out;\nfa1da7d2 166) if (errno != ENOENT && iter->flags & DIR_ITERATOR_PEDANTIC)\nfa1da7d2 167) goto error_out;\nc9bba372 188) int saved_errno = errno;\nc9bba372 190) errno = saved_errno;\nc9bba372 191) warning_errno(\"error closing directory '%s'\",\n\nfast-import.c\nd3b4705a 2565) char *buf = read_object_with_reference(the_repository,\nd3b4705a 2566)        &n->oid,\n\nfetch-pack.c\n5a88583b 914) else if (args->depth > 0 || is_repository_shallow(the_repository))\n0778b293 928) print_verbose(args, _(\"Server supports %s\"), \"multi_ack\");\n0778b293 936) print_verbose(args, _(\"Server supports %s\"), \"side-band\");\n5a88583b 974) } else if (args->deepen_since)\n5a88583b 979) } else if (args->deepen_not)\n5a88583b 983) else if (args->deepen_relative)\n\ngrep.c\nde99eb0c 1784) BUG(\"grep call which could print a name requires \"\n\nkwset.c\n08e04506 45) BUG(\"Cannot allocate a negative amount: %ld\", size);\n\nlist-objects-filter-options.c\n5c03bc8b 94) strbuf_addf(errbuf, _(\"invalid filter-spec '%s'\"), arg);\n\nmatch-trees.c\n90d34051 294) if (get_tree_entry(r, hash2, del_prefix, shifted, &mode))\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\noidset.c\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\ncd1096b2 197) fputs(\"\\r\\033[K\", stderr);\n\nprogress.c\n5b12e312 121) fprintf(stderr, \"  %s%s\", counters_sb->buf,\n5b12e312 127) fprintf(stderr, \"%s:\\n  %s%s\",\n\nrange-diff.c\n44b67cb6 33) return size;\n44b67cb6 95) strbuf_release(&contents);\nb66885a3 117) die(_(\"could not parse git header '%.*s'\"), (int)len, line);\nb66885a3 135)     patch.old_mode != patch.new_mode)\nb66885a3 136) strbuf_addf(&buf, \" (mode change %06o => %06o)\",\n44b67cb6 181) strbuf_addstr(&buf, line);\n\nread-cache.c\n7bd9631b 2201) src_offset += load_cache_entries_threaded(istate, mmap, mmap_size, nr_threads, ieot);\n\nref-filter.c\n2582083f 94) keydata_aka_refname ? keydata_aka_refname : k->wt->head_ref);\n28438e84 1501) strbuf_addstr(&desc, _(\"no branch\"));\nb31e2680 1967) break;\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\nsequencer.c\n37e9ee5c 293) ret = -1;\n37e9ee5c 311) ret = error(_(\"could not remove '%s'\"), buf.buf);\ned5b1ca1 2198)  (*bol == ' ' || *bol == '\\t'))\ned5b1ca1 2201) ret = -1;\n6a1f9046 2668) in_progress_error = _(\"revert is already in progress\");\n6a1f9046 2669) in_progress_advice =\n6a1f9046 2671) break;\n6a1f9046 2678) BUG(\"unexpected action in create_seq_dir\");\nde81ca3f 2777) return error(_(\"cannot resolve HEAD\"));\nde81ca3f 2860) if (!rollback_is_safe())\nde81ca3f 2861) goto give_advice;\nde81ca3f 2873) BUG(\"unexpected action in sequencer_skip\");\nde81ca3f 2877) return error(_(\"failed to skip the commit\"));\n\nserver-info.c\nf4f476b6 110) ret = -1;\nf4f476b6 111) goto out;\nf4f476b6 123) goto out;\nf4f476b6 125) goto out;\nf4f476b6 134) if (uic.cur_fp)\nf4f476b6 135) fclose(uic.cur_fp);\n\nsh-i18n--envsubst.c\n568a05c5 252)   size_t j = j1 + ((j2 - j1) >> 1);\n\nsha1-file.c\n709dfa69 784) return;\n709dfa69 792) warning(_(\"invalid line while parsing alternate refs: %s\"),\n709dfa69 794) break;\n709dfa69 817) goto out;\n709dfa69 819) goto out;\n709dfa69 825) goto out;\n\nstrbuf.c\n8f354a1f 818) strbuf_addf(buf,\n8f354a1f 850) Q_(\"%u byte/s\", \"%u bytes/s\", (unsigned)bytes),\n\nt/helper/test-dir-iterator.c\nfa1da7d2 24) die(\"invalid option '%s'\", *argv);\nfa1da7d2 28) die(\"dir-iterator needs exactly one non-option argument\");\n150791ad 46) printf(\"[?] \");\n\nt/helper/test-match-trees.c\n90d34051 23) shift_tree(the_repository, &one->object.oid, &two->object.oid, &shifted, -1);\n\nupload-pack.c\n62b89d43 534) if (parse_oid_hex(namebuf, &oid, &p) || *p != '\\n')\nd0229abd 537) o = lookup_object(the_repository, &oid);\n\nwt-status.c\n0a53561a 1114) strbuf_addf(&sb, _(\"\\n\"\n\nCommits introducting uncovered code:\nÆvar Arnfjörð Bjarmason\tb4f207f3 env--helper: new undocumented builtin wrapping git_env_*()\nÆvar Arnfjörð Bjarmason\t2e43cd4c config.c: refactor die_bad_number() to not call gettext() early\nAriadne Conill\tf0596ecc log: add warning for unspecified log.mailmap setting\nBarret Rhoden\tae3f36de blame: add the ability to ignore commits and their changes\nBarret Rhoden\t1fc73384 blame: optionally track line fingerprints during fill_blame_origin()\nBarret Rhoden\ta07a9776 blame: use the fingerprint heuristic to match ignored lines\nDaniel Ferreira\t150791ad dir-iterator: add tests for dir-iterator API\nDenton Liu\t13cdf780 format-patch: teach format.notes config option\nDenton Liu\t07b2c0ea config: learn the \"onbranch:\" includeIf condition\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\t6c622f9f commit-graph: write commit-graph chains\nDerrick Stolee\t5c84b339 commit-graph: load commit-graph chains\nDerrick Stolee\t118bd570 commit-graph: add base graphs chunk\nDerrick Stolee\t1771be90 commit-graph: merge commit-graph chains\nDerrick Stolee\t3883c551 pull: add --[no-]show-forced-updates passthrough\nDerrick Stolee\t238def57 commit-graph: extract write_commit_graph_file()\nDerrick Stolee\td4f4d60f commit-graph: prepare for commit-graph chains\nDerrick Stolee\tc523035c commit-graph: allow cross-alternate chains\nDerrick Stolee\tcdbd70c4 fetch: add --[no-]show-forced-updates argument\nDerrick Stolee\t377444b4 fetch: warn about forced updates in branch listing\nDerrick Stolee\tce1e4a10 midx: implement midx_repack()\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\te103f727 commit-graph: return with errors during write\nDerrick Stolee\t135a7123 commit-graph: add --split option to builtin\nDerrick Stolee\tc2bc6e6a commit-graph: create options for split files\nDimitriy Ryazantcev\t8f354a1f l10n: localizable upload progress messages\nElijah Newren\te80001f8 fast-export: do automatic reencoding of commit messages only if requested\nEmily Shaffer\tde99eb0c grep: fail if call could output and name is null\nEric Wong\tf4f476b6 update-server-info: avoid needless overwrites\nJeff Hostetler\t0a53561a status: warn when a/b calculation takes too long\nJeff King\t7bd9631b read-cache: drop unused parameter from threaded load\nJeff King\t709dfa69 object-store.h: move for_each_alternate_ref() from transport.h\nJeff King\t62b89d43 upload-pack: rename a \"sha1\" variable to \"oid\"\nJeff King\td0229abd object: convert lookup_object() to use object_id\nJeff King\tbdbdf42f delta-islands: respect progress flag\nJeff King\t6e7baf24 am: drop tty requirement for --interactive\nJeff King\t97387c8b am: read interactive input from stdin\nJeff King\t76a7bc09 cmd_{read,write}_tree: rename \"unused\" variable that is used\nJohannes Schindelin\t906b6394 rebase --am: ignore rebase.rescheduleFailedExec\nJohannes Schindelin\t7877ac3d bisect--helper: verify HEAD could be parsed before continuing\nJohannes Schindelin\tb09364c4 clean: show an error message when the path is too long\nJohannes Schindelin\t08e04506 kwset: allow building with GCC 8\nMatheus Tavares\t14954b79 clone: extract function from copy_or_link_directory\nMatheus Tavares\t3012397e dir-iterator: refactor state machine model\nMatheus Tavares\tfa1da7d2 dir-iterator: add flags parameter to dir_iterator_begin\nMatheus Tavares\tc9bba372 dir-iterator: use warning_errno when possible\nMatheus Tavares\tff7ccc8c clone: use dir-iterator to avoid explicit dir traversal\nMatthew DeVore\t28438e84 ref-filter: sort detached HEAD lines firstly\nMatthew DeVore\t5c03bc8b list-objects-filter-options: error is localizeable\nNguyễn Thái Ngọc Duy\td16dc428 switch: allow to switch in the middle of bisect\nNguyễn Thái Ngọc Duy\t3ec37ad1 switch: add --discard-changes\nNguyễn Thái Ngọc Duy\t50ddb089 tree-walk.c: remove the_repo from get_tree_entry()\nNguyễn Thái Ngọc Duy\t1de16aec worktree add: sanitize worktree names\nNguyễn Thái Ngọc Duy\tc9c935f6 restore: take tree-ish from --source option instead\nNguyễn Thái Ngọc Duy\t5a88583b fetch-pack: print all relevant supported capabilities with -v -v\nNguyễn Thái Ngọc Duy\tf3f8311e merge: add --quit\nNguyễn Thái Ngọc Duy\t90d34051 match-trees.c: remove the_repo from shift_tree*()\nNguyễn Thái Ngọc Duy\td3b4705a sha1-file.c: remove the_repo from read_object_with_reference()\nNguyễn Thái Ngọc Duy\t0778b293 fetch-pack: move capability names out of i18n strings\nNguyễn Thái Ngọc Duy\t183fb44f restore: add --worktree and --staged\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\ted5b1ca1 status: do not report errors in sequencer/todo\nPhillip Wood\td559f502 rebase --abort/--quit: cleanup refs/rewritten\nRené Scharfe\t568a05c5 cleanup: fix possible overflow errors in binary search, part 2\nRené Scharfe\t921d49be use COPY_ARRAY for copying arrays\nRohit Ashiwal\tde81ca3f cherry-pick/revert: add --skip option\nRohit Ashiwal\t6a1f9046 sequencer: add advice for revert\nSZEDER Gábor\tcd1096b2 pager: add a helper function to clear the last line in the terminal\nSZEDER Gábor\t5b12e312 progress: use term_clear_line()\nTaylor Blau\tb31e2680 ref-filter.c: find disjoint pattern prefixes\nThomas Gummerer\tb66885a3 range-diff: add section header instead of diff header\nThomas Gummerer\t44b67cb6 range-diff: split lines manually\nThomas Gummerer\t85c3713d apply: only pass required data to git_header_name\n\n"}]}