{"thread":{"id":"51086","subject":"Git Test Coverage Report (May 13, 2019)","startedAt":"2019-05-14T01:10:17Z","lastAt":"2019-05-14T01:10:17Z","messageCount":1,"participants":["Derrick Stolee"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"375456","messageId":"35cf6040-3f6a-14d3-a387-a6914a028aea@gmail.com","threadId":"51086","inReplyTo":null,"subject":"Git Test Coverage Report (May 13, 2019)","fromName":"Derrick Stolee","fromEmail":"stolee@gmail.com","sentAt":"2019-05-14T01:10:11Z","receivedAt":"2019-05-14T01:10:17Z","isPatch":false,"sender":{"key":"stolee@gmail.com","avatar":"https://avatars.githubusercontent.com/u/570044?v=4"},"body":"Here is today's test coverage report. You can view it in HTML [1] or text [2]\nform, and below.\n\nThanks,\n-Stolee\n\n[1] https://derrickstolee.github.io/git-test-coverage/reports/2019-05-13.htm\n[2] https://derrickstolee.github.io/git-test-coverage/reports/2019-05-13.txt\n\n---\n\npu\t7965c284718b7b0dfb5ed346e2adfdf5da23ee10\njch\t70abaa9ec89a67d1a7e826673a32fadc7e931d88\nnext\te745c3d227fefd28dbcf0011398e178098d621e4\nmaster\tab15ad1a3b4b04a29415aef8c9afa2f64fc194a2\nmaster@{1}\t6a6c0f10a70a6eb101c213b09ae82a9cad252743\n\n\nUncovered code in 'pu' not in 'jch'\n--------------------------------------------------------\n\nblame.c\nd0738d94 618)     ent->ignored == next->ignored &&\na5c91678 619)     ent->unblamable == next->unblamable) {\n\nbuiltin/blame.c\na5c91678 493) memset(hex, '0', length);\n\nhttp.c\n65de540e 2302) target ? hash_to_hex(target->hash) : base_url,\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\nref-filter.c\n2582083f 93) keydata_aka_refname ? keydata_aka_refname : k->wt->head_ref);\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\nCommits introducting uncovered code:\nBarret Rhoden\td0738d94 blame: add config options to handle output for ignored lines\nBarret Rhoden\ta5c91678 blame: add the ability to ignore commits and their changes\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\nChristian Couder\t7bdf0926 promisor-remote: use repository_format_partial_clone\nChristian Couder\t7b6e1b04 Move core_partial_clone_filter_default to promisor-remote.c\nChristian Couder\tb21a55f3 promisor-remote: parse remote.*.partialclonefilter\nChristian Couder\tdcc8b4e9 promisor-remote: implement promisor_remote_get_direct()\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\t65de540e Merge branch 'jt/fetch-cdn-offload' into pu\nNickolai Belakovski\t2582083f ref-filter: add worktreepath atom\n\n\nUncovered code in 'jch' not in 'next'\n--------------------------------------------------------\n\nbuiltin/difftool.c\nf3a3a021 731) die(_(\"--dir-diff is incompatible with --no-index\"));\n\nbuiltin/fast-export.c\n6a362638 81) static int parse_opt_reencode_mode(const struct option *opt,\n6a362638 84) if (unset || !strcmp(arg, \"abort\"))\n6a362638 85) reencode_mode = REENCODE_ABORT;\n6a362638 86) else if (!strcmp(arg, \"yes\"))\n6a362638 87) reencode_mode = REENCODE_PLEASE;\n6a362638 88) else if (!strcmp(arg, \"no\"))\n6a362638 89) reencode_mode = REENCODE_NEVER;\n6a362638 91) return error(\"Unknown reencoding mode: %s\", arg);\n6a362638 92) return 0;\n6a362638 654) switch(reencode_mode) {\n6a362638 656) reencoded = reencode_string(message, \"UTF-8\", encoding);\n6a362638 657) break;\n6a362638 659) break;\n6a362638 661) die(\"Encountered commit-specific encoding %s in commit \"\n6a362638 663)     encoding, oid_to_hex(&commit->object.oid));\n17683839 675) printf(\"encoding %s\\n\", encoding);\n\nbuiltin/gc.c\nefeb229e 691) return 1;\n\nbuiltin/merge.c\n324d237f 1290) usage_msg_opt(_(\"--quit expects no arguments\"),\n\nbuiltin/rebase.c\n526c03b5 1274) goto done;\n10572de1 1290) goto done;\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/worktree.c\n722abec7 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\nd83160e8 906) error(_(\"error opening index for %s\"), packname.buf);\nd83160e8 907) return 1;\n63a8be62 946) continue;\n93ba1867 969) display_progress(ctx->progress, ctx->approx_nr_objects);\n8520d7fc 1039) error(_(\"unable to create leading directories of %s\"),\n8520d7fc 1041) return errno;\nefeb229e 1158) error(_(\"the commit graph format cannot write %d commits\"), count_distinct);\nefeb229e 1159) res = 1;\nefeb229e 1160) goto cleanup;\nefeb229e 1169) error(_(\"too many commits to write graph\"));\nefeb229e 1170) res = 1;\nefeb229e 1171) goto cleanup;\n\nfast-import.c\n328bd099 2612) read_next_command();\n328bd099 2679) strbuf_addf(&new_data,\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\"\n7bd9631b 2211) src_offset += load_cache_entries_threaded(istate, mmap, mmap_size, nr_threads, ieot);\n\nrefs.c\n722abec7 111) sanitized->buf[sanitized->len-1] = '-';\n722abec7 170) if (sanitized)\n722abec7 171) strbuf_addch(sanitized, '-');\n722abec7 173) return -1;\n722abec7 178) strbuf_complete(sanitized, '/');\n722abec7 215) BUG(\"sanitizing refname '%s' check returned error\", refname);\n\nsha1-name.c\naf96fe33 161) return;\n\nt/helper/test-read-cache.c\ndc76852d 29) die(\"%s not in index\", name);\n\nupload-pack.c\n8e712ef6 1073) precomposed_unicode = git_config_bool(var, value);\n\nCommits introducting uncovered code:\nDenton Liu\t526c03b5 rebase: refactor can_fast_forward into goto tower\nDenton Liu\t10572de1 rebase: fast-forward --onto in more cases\nDenton Liu\tf39a9c65 remote: add --save-to-push option to git remote set-url\nDerrick Stolee\tefeb229e commit-graph: return with errors during write\nDerrick Stolee\td83160e8 commit-graph: extract fill_oids_from_packs()\nDerrick Stolee\t63a8be62 commit-graph: extract fill_oids_from_commit_hex()\nDerrick Stolee\t93ba1867 commit-graph: extract fill_oids_from_all_packs()\nDerrick Stolee\t8520d7fc commit-graph: extract write_commit_graph_file()\nDerrick Stolee\taf96fe33 midx: add packs to packed_git linked list\nElijah Newren\t328bd099 fast-import: support 'encoding' commit header\nElijah Newren\t6a362638 fast-export: do automatic reencoding of commit messages only if requested\nElijah Newren\t17683839 fast-export: avoid stripping encoding header if we cannot reencode\nElijah Newren\t8e712ef6 Honor core.precomposeUnicode in more places\nJeff King\t76a7bc09 cmd_{read,write}_tree: rename \"unused\" variable that is used\nJeff King\t7bd9631b read-cache: drop unused parameter from threaded load\nJohannes Schindelin\tdc76852d fsmonitor: demonstrate that it is not refreshed after discard_index()\nJohannes Schindelin\tf3a3a021 difftool --no-index: error out on --dir-diff (and don't crash)\nJonathan Nieder\tee70c128 index: offer advice for unknown index extensions\nNguyễn Thái Ngọc Duy\t722abec7 worktree add: sanitize worktree names\nNguyễn Thái Ngọc Duy\t324d237f merge: add --quit\n\n\nUncovered code in 'next' not in 'master'\n--------------------------------------------------------\n\nhttp.c\n5c3d5a38 2329) return posn / eltsize;\n\nparse-options.c\n5c387428 282) return 0;\n5c387428 481) BUG(\"OPT_ALIAS() should not remain at this point. \"\n5c387428 661) BUG(\"An alias must have long option name\");\n5c387428 670) BUG(\"No please. Nested aliases are not supported.\");\n5c387428 685) BUG(\"could not find source option '%s' of alias '%s'\",\n\nCommits introducting uncovered code:\nMike Hommey\t5c3d5a38 Make fread/fwrite-like functions in http.c more like fread/fwrite.\nNguyễn Thái Ngọc Duy\t5c387428 parse-options: don't emit \"ambiguous option\" for aliases\n\n\nUncovered code in 'master' not in 'master@{1}'\n--------------------------------------------------------\n\nbuiltin/rebase.c\n0609b741 146) static int add_exec_commands(struct string_list *commands)\n0609b741 148) const char *todo_file = rebase_path_todo();\n0609b741 149) struct todo_list todo_list = TODO_LIST_INIT;\n0609b741 152) if (strbuf_read_file(&todo_list.buf, todo_file, 0) < 0)\n0609b741 153) return error_errno(_(\"could not read '%s'.\"), todo_file);\n0609b741 155) if (todo_list_parse_insn_buffer(the_repository, todo_list.buf.buf,\n0609b741 157) todo_list_release(&todo_list);\n0609b741 158) return error(_(\"unusable todo list: '%s'\"), todo_file);\n0609b741 161) todo_list_add_exec_commands(&todo_list, commands);\n0609b741 162) res = todo_list_write_to_file(the_repository, &todo_list,\n0609b741 164) todo_list_release(&todo_list);\n0609b741 166) if (res)\n0609b741 167) return error_errno(_(\"could not write '%s'.\"), todo_file);\n0609b741 168) return 0;\n0609b741 171) static int rearrange_squash_in_todo_file(void)\n0609b741 173) const char *todo_file = rebase_path_todo();\n0609b741 174) struct todo_list todo_list = TODO_LIST_INIT;\n0609b741 175) int res = 0;\n0609b741 177) if (strbuf_read_file(&todo_list.buf, todo_file, 0) < 0)\n0609b741 178) return error_errno(_(\"could not read '%s'.\"), todo_file);\n0609b741 179) if (todo_list_parse_insn_buffer(the_repository, todo_list.buf.buf,\n0609b741 181) todo_list_release(&todo_list);\n0609b741 182) return error(_(\"unusable todo list: '%s'\"), todo_file);\n0609b741 185) res = todo_list_rearrange_squash(&todo_list);\n0609b741 186) if (!res)\n0609b741 187) res = todo_list_write_to_file(the_repository, &todo_list,\n0609b741 190) todo_list_release(&todo_list);\n0609b741 192) if (res)\n0609b741 193) return error_errno(_(\"could not write '%s'.\"), todo_file);\n0609b741 194) return 0;\n0609b741 204) return error_errno(_(\"could not read '%s'.\"), todo_file);\n0609b741 208) todo_list_release(&todo_list);\n0609b741 209) return error(_(\"unusable todo list: '%s'\"), todo_file);\n0609b741 217) return error_errno(_(\"could not write '%s'.\"), todo_file);\n0609b741 229) return error_errno(_(\"could not read '%s'.\"), todo_file);\n0609b741 235) res = error_errno(_(\"could not write '%s'\"), todo_file);\n0609b741 252) return error(_(\"no HEAD?\"));\nc44c2462 279) return error_errno(_(\"could not create temporary %s\"), merge_dir());\n0609b741 285) return error_errno(_(\"could not mark as interactive\"));\n0609b741 314) return -1;\n0609b741 318) return -1;\n0609b741 323) free(revisions);\n0609b741 324) free(shortrevisions);\n0609b741 326) return -1;\n7d3488eb 335) argv_array_push(&make_script_args,\n0ea0847e 336) oid_to_hex(&opts->restrict_revision->object.oid));\n0609b741 343) error(_(\"could not generate todo list\"));\n0609b741 348) BUG(\"unusable todo list\");\n460bc3ce 382) die(_(\"a base commit must be provided with --upstream or --onto\"));\n460bc3ce 419) ret = rearrange_squash_in_todo_file();\n460bc3ce 420) break;\n460bc3ce 422) struct string_list commands = STRING_LIST_INIT_DUP;\n460bc3ce 424) split_exec_commands(opts->cmd, &commands);\n460bc3ce 425) ret = add_exec_commands(&commands);\n460bc3ce 426) string_list_clear(&commands, 0);\n460bc3ce 427) break;\n460bc3ce 430) BUG(\"invalid command '%d'\", command);\n0609b741 509) usage_with_options(builtin_rebase_interactive_usage, options);\n73fdc535 515) opts.squash_onto = &squash_onto;\n0609b741 518) warning(_(\"--[no-]rebase-cousins has no effect without \"\n\nparse-options-cb.c\n7d3488eb 99) int parse_opt_commit(const struct option *opt, const char *arg, int unset)\n7d3488eb 103) struct commit **target = opt->value;\n7d3488eb 105) if (!arg)\n7d3488eb 106) return -1;\n7d3488eb 107) if (get_oid(arg, &oid))\n7d3488eb 108) return error(\"malformed object name %s\", arg);\n7d3488eb 109) commit = lookup_commit_reference(the_repository, &oid);\n7d3488eb 110) if (!commit)\n7d3488eb 111) return error(\"no such commit %s\", arg);\n7d3488eb 112) *target = commit;\n7d3488eb 113) return 0;\n33898531 132) int parse_opt_object_id(const struct option *opt, const char *arg, int unset)\n33898531 135) struct object_id *target = opt->value;\n33898531 137) if (unset) {\n33898531 138) *target = null_oid;\n33898531 139) return 0;\n33898531 141) if (!arg)\n33898531 142) return -1;\n33898531 143) if (get_oid(arg, &oid))\n33898531 144) return error(_(\"malformed object name '%s'\"), arg);\n33898531 145) *target = oid;\n33898531 146) return 0;\n\nsequencer.c\n4a72486d 2184) return error_errno(\"unable to open '%s'\", todo_file);\n4a72486d 2188) eol--; /* strip Carriage Return */\n4a72486d 2190) goto fail;\n4a72486d 2196) goto fail;\nb07d9bfd 2300) error_errno(\"unable to open '%s'\", todo_path);\nb07d9bfd 2301) return 0;\n\ntrace2.c\na0897249 448) tr2tls_create_self(thread_name, us_now);\n22a73383 737) if (tgt_j->pfn_data_json_fl)\n\ntrace2/tr2_dst.c\nbce9db6d 16) const char *env_value = tr2_sysenv_get(TR2_SYSENV_DST_DEBUG);\n5b2d1c0c 69) strerror(errno));\nbce9db6d 93) strerror(errno));\nbce9db6d 303) warning(\"unable to write trace to '%s': %s\",\n\ntrace2/tr2_sid.c\n08881b9a 44) strbuf_add(&tr2sid_buf, \"Localhost\", 9);\n\ntrace2/tr2_sysenv.c\nbce9db6d 70) return 0;\nbce9db6d 95) BUG(\"tr2_sysenv_get invalid var '%d'\", var);\nbce9db6d 113) const char *tr2_sysenv_display_name(enum tr2_sysenv_variable var)\nbce9db6d 115) if (var >= TR2_SYSENV_MUST_BE_LAST)\nbce9db6d 116) BUG(\"tr2_sysenv_get invalid var '%d'\", var);\nbce9db6d 118) return tr2_sysenv_settings[var].env_var_name;\n\ntrace2/tr2_tgt_event.c\nbce9db6d 56) tr2env_event_max_nesting_levels = max_nesting;\nbce9db6d 61) tr2env_event_be_brief = want_brief;\nbce9db6d 542) if (ctx->nr_open_regions <= tr2env_event_max_nesting_levels) {\n\nCommits introducting uncovered code:\nJeff Hostetler\ta0897249 trace2: refactor setting process starting time\nJeff Hostetler\tbce9db6d trace2: use system/global config for default trace2 settings\nJeff Hostetler\t08881b9a trace2: make SIDs more unique\nJosh Steadmon\t22a73383 trace2: fix incorrect function pointer check\nJunio C Hamano\t5b2d1c0c Merge branch 'jh/trace2-sid-fix'\nPhillip Wood\t0609b741 rebase -i: combine rebase--interactive.c with rebase.c\nPhillip Wood\tc44c2462 rebase -i: remove duplication\nPhillip Wood\t7d3488eb rebase -i: use struct commit when parsing options\nPhillip Wood\t0ea0847e rebase -i: use struct rebase_options in do_interactive_rebase()\nPhillip Wood\t460bc3ce rebase -i: run without forking rebase--interactive\nPhillip Wood\t73fdc535 rebase -i: use struct rebase_options to parse args\nPhillip Wood\t33898531 rebase -i: use struct object_id for squash_onto\nPhillip Wood\t4a72486d fix cherry-pick/revert status after commit\nPhillip Wood\tb07d9bfd commit/reset: try to clean up sequencer state\n\n"}]}