{"thread":{"id":"51461","subject":"Git Test Coverage Report (Wed. July 10)","startedAt":"2019-07-11T01:47:52Z","lastAt":"2019-07-11T21:07:38Z","messageCount":3,"participants":["Derrick Stolee","Philip Oakley"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"378794","messageId":"2f2925b8-8276-c2cb-595f-badaa5cedc1e@gmail.com","threadId":"51461","inReplyTo":null,"subject":"Git Test Coverage Report (Wed. July 10)","fromName":"Derrick Stolee","fromEmail":"stolee@gmail.com","sentAt":"2019-07-11T01:47:47Z","receivedAt":"2019-07-11T01:47:52Z","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-07-10.htm\n[2] https://derrickstolee.github.io/git-test-coverage/reports/2019-07-10.txt\n\n---\n\npu\t4b52dbde4091e50c06af0c7ea0e71426941019a6\njch\t59741dc3e9aec4a485f18c8adb47ae91cb4641a6\nnext\t20b46463406ef6ca70b1a63c5e26d4e2ead8dc13\nmaster\t74583d89127e21255c12dd3c8a3bf60b497d7d03\nmaster@{1}\taa25c82427ae70aebf3b8f970f2afd54e9a2a8c6\n\n\nUncovered code in 'pu' not in 'jch'\n--------------------------------------------------------\n\nblame.c\n170072f9 846)     (result[i] >= most_certain_line_a ||\n170072f9 847)      second_best_result[i] >= most_certain_line_a)) {\n170072f9 848) certainties[i] = CERTAINTY_NOT_CALCULATED;\n170072f9 951) max_search_distance_b = 0;\n1fc73384 998) return;\n8934ac8c 1190)     ent->ignored == next->ignored &&\n8934ac8c 1191)     ent->unblamable == next->unblamable) {\n43885768 1607) continue;\nae3f36de 2425) continue;\n\nbuiltin/blame.c\n\nbuiltin/cat-file.c\n\nbuiltin/fetch-pack.c\n\nbuiltin/pack-objects.c\n\nbuiltin/rebase.c\nd559f502 759) ret = error(_(\"could not remove '%s'\"),\nd559f502 1675) error(_(\"could not remove '%s'\"),\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\n55cac500 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\nref-filter.c\n2582083f 93) keydata_aka_refname ? keydata_aka_refname : k->wt->head_ref);\n\nremote-curl.c\n\nsequencer.c\n37e9ee5c 293) ret = -1;\n37e9ee5c 311) ret = error(_(\"could not remove '%s'\"), buf.buf);\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\t8934ac8c blame: add config options for the output of ignored or unblamable lines\nBarret Rhoden\t43885768 blame: use the fingerprint heuristic to match ignored lines\nBarret Rhoden\tae3f36de blame: add the ability to ignore commits and their changes\nChristian Couder\t7b6e1b04 Move core_partial_clone_filter_default to promisor-remote.c\nChristian Couder\tdcc8b4e9 promisor-remote: implement promisor_remote_get_direct()\nChristian Couder\tb21a55f3 promisor-remote: parse remote.*.partialclonefilter\nChristian Couder\t7bdf0926 promisor-remote: use repository_format_partial_clone\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}\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\t55cac500 Merge branch 'jt/fetch-cdn-offload' into pu\nMichael Platings\t170072f9 blame: add a fingerprint heuristic to match ignored lines\nNickolai Belakovski\t2582083f ref-filter: add worktreepath atom\nPhillip Wood\td559f502 rebase --abort/--quit: cleanup refs/rewritten\nPhillip Wood\t37e9ee5c sequencer: return errors from sequencer_remove_state()\n\n\nUncovered code in 'jch' not in 'next'\n--------------------------------------------------------\n\nbuiltin/branch.c\n1fde99cf 833) 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\nefeb229e 691) return 1;\n\nbuiltin/rebase.c\n526c03b5 1262) goto done;\n10572de1 1278) goto done;\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\nlist-objects-filter-options.c\n5c03bc8b 94) strbuf_addf(errbuf, _(\"invalid filter-spec '%s'\"), arg);\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\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\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()\nJonathan Nieder\tee70c128 index: offer advice for unknown index extensions\nMatthew DeVore\t5c03bc8b list-objects-filter-options: error is localizeable\nPhilip Oakley\t1fde99cf doc branch: provide examples for listing remote tracking branches\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\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/index-pack.c\n8a30a1ef 1365) continue;\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\ngrep.c\nde99eb0c 1784) BUG(\"grep call which could print a name requires \"\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 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\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\nEmily Shaffer\tde99eb0c grep: fail if call could output and name is null\nEric Wong\tf4f476b6 update-server-info: avoid needless overwrites\nJeff King\t97387c8b am: read interactive input from stdin\nJeff King\t6e7baf24 am: drop tty requirement for --interactive\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\t7877ac3d bisect--helper: verify HEAD could be parsed before continuing\nJonathan Tan\t8a30a1ef index-pack: prefetch missing REF_DELTA bases\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\nUncovered code in 'master' not in 'master@{1}'\n--------------------------------------------------------\n\nbuiltin/rebase.c\n4c785c0e 1206) opts->flags &= ~REBASE_DIFFSTAT;\n\ndiff.c\n8ef05193 5217) return error(_(\"%s expects a numerical value\"), \"--unified\");\n\nparse-options-cb.c\nf7e68a08 20) return error(_(\"option `%s' expects a numerical value\"),\n\nparse-options.c\nf7e68a08 199) return error(_(\"%s expects a numerical value\"),\n\nprogress.c\n1aed1a5f 131)     cols - progress->title_len - 1 : 0;\n\nremote-curl.c\n8a1569d6 1120) die(_(\"protocol error: expected sha/ref, got '%s'\"), p);\n8a1569d6 1126) die(_(\"protocol error: expected sha/ref, got '%s'\"), p);\n\ntrace2/tr2_tls.c\n5fdae9d3 87) return pthread_getspecific(tr2tls_key) == tr2tls_thread_main;\n\nCommits introducting uncovered code:\nJeff Hostetler\t5fdae9d3 trace2: fix tracing when NO_PTHREADS is defined\nJiang Xin\t8a1569d6 i18n: fix typos found during l10n for git 2.22.0\nJohannes Schindelin\t4c785c0e rebase: replace incorrect logical negation by correct bitwise one\nNguyễn Thái Ngọc Duy\t8ef05193 diff-parseopt: restore -U (no argument) behavior\nNguyễn Thái Ngọc Duy\tf7e68a08 parse-options: check empty value in OPT_INTEGER and OPT_ABBREV\nSZEDER Gábor\t1aed1a5f progress: avoid empty line when breaking the progress line\n\n\n"},{"id":"378795","messageId":"0bb53084-0604-21c1-c127-0eecd6481bbb@gmail.com","threadId":"51461","inReplyTo":"2f2925b8-8276-c2cb-595f-badaa5cedc1e@gmail.com","subject":"Re: Git Test Coverage Report (Wed. July 10)","fromName":"Derrick Stolee","fromEmail":"stolee@gmail.com","sentAt":"2019-07-11T02:13:09Z","receivedAt":"2019-07-11T02:13:15Z","isPatch":false,"sender":{"key":"stolee@gmail.com","avatar":"https://avatars.githubusercontent.com/u/570044?v=4"},"body":"I apologize for the incorrect report sent earlier. I changed something about my workflow, and it changed where build outputs were downloaded and I included an old report.\n\n-Stolee\n\n---\n\npu\tc984b65d414a0da7af629eb476f12b27e13ede0b\njch\t2bb3fc833ce3b23a27fdaba73982b617ba480bb7\nnext\tf5cf68d754516a24d6a948b93daa5343b6152217\nmaster\t6d5b26420848ec3bc7eae46a7ffa54f20276249d\nmaster@{1}\t8dca754b1e874719a732bc9ab7b0e14b21b1bc10\n\n\nUncovered code in 'pu' not in 'jch'\n--------------------------------------------------------\n\nbuiltin/cat-file.c\nb14ed5ad 529) warning(\"This repository uses promisor remotes. Some objects may not be loaded.\");\n\nbuiltin/clone.c\nfbb4a33c 407) die_errno(_(\"failed to create directory '%s'\"), pathname);\nfbb4a33c 409) die_errno(_(\"failed to stat '%s'\"), pathname);\nd95432d7 428) die_errno(_(\"failed to start iterator over '%s'\"), src->buf);\nd95432d7 466) strbuf_setlen(src, src_len);\nd95432d7 467) die(_(\"failed to iterate over '%s'\"), src->buf);\n\nbuiltin/fetch-pack.c\n\nbuiltin/pack-objects.c\n820a5361 859) BUG(\"configured exclusion wasn't configured\");\n820a5361 2794) die(_(\"value of uploadpack.blobpackfileuri must be \"\n820a5361 2797) die(_(\"object already configured in another \"\n\nbuiltin/rebase.c\n526c03b5 1272) goto done;\n10572de1 1288) 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/rev-list.c\ncf9ceb5a 476) die(\n\ndir-iterator.c\n50e85c40 92) warning_errno(\"error closing directory '%s'\",\n655af733 126) warning_errno(\"failed to stat '%s'\", iter->base.path.buf);\n655af733 159) goto error_out;\n50e85c40 174) warning_errno(\"error reading directory '%s'\",\n655af733 176) if (iter->flags & DIR_ITERATOR_PEDANTIC)\n655af733 177) goto error_out;\n655af733 188) if (errno != ENOENT && iter->flags & DIR_ITERATOR_PEDANTIC)\n655af733 189) goto error_out;\nc40f077a 216) int saved_errno = errno;\nc40f077a 218) errno = saved_errno;\nc40f077a 219) warning_errno(\"error closing directory '%s'\",\n\nfetch-pack.c\n820a5361 1397) die(\"expected '<hash> <uri>', got: %s\\n\", reader->line);\n820a5361 1402) die(\"expected DELIM\");\n820a5361 1529) die(\"fetch-pack: unable to spawn http-fetch\");\n820a5361 1533) die(\"fetch-pack: expected keep then TAB at start of http-fetch output\");\n820a5361 1538) die(\"fetch-pack: expected hash then LF at end of http-fetch output\");\n820a5361 1545) die(\"fetch-pack: unable to finish http-fetch\");\n820a5361 1549) die(\"fetch-pack: pack downloaded from %s does not match expected hash %.*s\",\n820a5361 1550)     uri, (int) the_hash_algo->hexsz,\n820a5361 1551)     packfile_uris.items[i].string);\n\nhttp-fetch.c\n\nhttp.c\n18615216 2304) target ? hash_to_hex(target->hash) : base_url,\n\nlist-objects-filter-options.c\nf56f7642 44) BUG(\"filter_options already populated\");\nf56f7642 236) die(_(\"multiple filter-specs cannot be combined\"));\ncf9ceb5a 286) BUG(\"no filter_spec available for this filter\");\ne987df5f 321) return;\n\nlist-objects-filter.c\ne987df5f 585) BUG(\"expected oidset to be cleared already\");\n\nlist-objects.c\n9430147c 210) ctx->show_object(obj, base->buf, ctx->show_data);\n\npromisor-remote.c\ndb27dca5 25) die(_(\"Remote with no URL\"));\n48de3158 61) warning(_(\"promisor remote name cannot begin with '/': %s\"),\n48de3158 63) return NULL;\nfaf2abf4 93) previous->next = r->next;\n4ca9474e 108) return git_config_string(&core_partial_clone_filter_default,\nfa3d1b63 139) return 0;\n9e27beaa 202) static int remove_fetched_oids(struct repository *repo,\n9e27beaa 206) int i, remaining_nr = 0;\n9e27beaa 207) int *remaining = xcalloc(oid_nr, sizeof(*remaining));\n9e27beaa 208) struct object_id *old_oids = *oids;\n9e27beaa 211) for (i = 0; i < oid_nr; i++)\n9e27beaa 212) if (oid_object_info_extended(repo, &old_oids[i], NULL,\n9e27beaa 214) remaining[i] = 1;\n9e27beaa 215) remaining_nr++;\n9e27beaa 218) if (remaining_nr) {\n9e27beaa 219) int j = 0;\n9e27beaa 220) new_oids = xcalloc(remaining_nr, sizeof(*new_oids));\n9e27beaa 221) for (i = 0; i < oid_nr; i++)\n9e27beaa 222) if (remaining[i])\n9e27beaa 223) oidcpy(&new_oids[j++], &old_oids[i]);\n9e27beaa 224) *oids = new_oids;\n9e27beaa 225) if (to_free)\n9e27beaa 226) free(old_oids);\n9e27beaa 229) free(remaining);\n9e27beaa 231) return remaining_nr;\n9e27beaa 248) if (remaining_nr == 1)\n9e27beaa 249) continue;\n9e27beaa 250) remaining_nr = remove_fetched_oids(repo, &remaining_oids,\n9e27beaa 252) if (remaining_nr) {\n9e27beaa 253) to_free = 1;\n9e27beaa 254) continue;\n9e27beaa 262) free(remaining_oids);\n\nprotocol.c\n\nremote-curl.c\n\nt/helper/test-dir-iterator.c\n655af733 24) die(\"invalid option '%s'\", *argv);\n655af733 28) die(\"dir-iterator needs exactly one non-option argument\");\n9bd70db7 46) printf(\"[?] \");\n\nupload-pack.c\na8d662e3 130) return readsz;\n820a5361 149) BUG(\"packfile_uris requires sideband-all\");\ncf9ceb5a 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:\nChristian Couder\tb14ed5ad Use promisor_remote_get_direct() and has_promisor_remote()\nChristian Couder\tfaf2abf4 promisor-remote: use repository_format_partial_clone\nChristian Couder\t4ca9474e Move core_partial_clone_filter_default to promisor-remote.c\nChristian Couder\tfa3d1b63 promisor-remote: parse remote.*.partialclonefilter\nChristian Couder\t9e27beaa promisor-remote: implement promisor_remote_get_direct()\nChristian Couder\tdb27dca5 Remove fetch-object.{c,h} in favor of promisor-remote.{c,h}\nChristian Couder\t48de3158 Add initial support for many promisor remotes\nDaniel Ferreira\t9bd70db7 dir-iterator: add tests for dir-iterator API\nDenton Liu\t10572de1 rebase: fast-forward --onto in more cases\nDenton Liu\t526c03b5 rebase: refactor can_fast_forward into goto tower\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\t18615216 Merge branch 'jt/fetch-cdn-offload' into pu\nMatheus Tavares\tc40f077a dir-iterator: use warning_errno when possible\nMatheus Tavares\t655af733 dir-iterator: add flags parameter to dir_iterator_begin\nMatheus Tavares\t50e85c40 dir-iterator: refactor state machine model\nMatheus Tavares\td95432d7 clone: use dir-iterator to avoid explicit dir traversal\nMatheus Tavares\tfbb4a33c clone: extract function from copy_or_link_directory\nMatthew DeVore\tf56f7642 list-objects-filter-options: move error check up\nMatthew DeVore\tcf9ceb5a list-objects-filter-options: make filter_spec a string_list\nMatthew DeVore\t9430147c list-objects-filter: encapsulate filter components\nMatthew DeVore\te987df5f list-objects-filter: implement composite filters\n\n\nUncovered code in 'jch' not in 'next'\n--------------------------------------------------------\n\napply.c\n85c3713d 1187) cp = skip_tree_prefix(p_value, second, line + llen - second);\n\nbuiltin/ls-files.c\n272b3f2a 672) die(_(\"--debug-json cannot be used with other file selection options\"));\n272b3f2a 674) die(_(\"--debug-json cannot be used with %s\"), \"--resolve-undo\");\n272b3f2a 676) die(_(\"--debug-json cannot be used with %s\"), \"--with-tree\");\n272b3f2a 678) die(_(\"--debug-json cannot be used with %s\"), \"--debug\");\n272b3f2a 701) die(\"index file corrupt\");\n\ncache-tree.c\nfd335a21 605) ret = NULL; /* not the whole tree */\n\ndir.c\n3b2385cf 2840) static void jw_object_untracked_cache_dir(struct json_writer *jw,\n3b2385cf 2845) jw_object_bool(jw, \"valid\", ucd->valid);\n3b2385cf 2846) jw_object_bool(jw, \"check-only\", ucd->check_only);\n3b2385cf 2847) jw_object_stat_data(jw, \"stat\", &ucd->stat_data);\n3b2385cf 2848) jw_object_string(jw, \"exclude-oid\", oid_to_hex(&ucd->exclude_oid));\n3b2385cf 2849) jw_object_inline_begin_array(jw, \"untracked\");\n3b2385cf 2850) for (i = 0; i < ucd->untracked_nr; i++)\n3b2385cf 2851) jw_array_string(jw, ucd->untracked[i]);\n3b2385cf 2852) jw_end(jw);\n3b2385cf 2854) jw_object_inline_begin_object(jw, \"dirs\");\n3b2385cf 2855) for (i = 0; i < ucd->dirs_nr; i++) {\n3b2385cf 2856) jw_object_inline_begin_object(jw, ucd->dirs[i]->name);\n3b2385cf 2857) jw_object_untracked_cache_dir(jw, ucd->dirs[i]);\n3b2385cf 2858) jw_end(jw);\n3b2385cf 2860) jw_end(jw);\n3b2385cf 2861) }\n3b2385cf 2958) jw_object_inline_begin_object(jw, \"root\");\n3b2385cf 2959) jw_object_untracked_cache_dir(jw, uc->root);\n3b2385cf 2960) jw_end(jw);\n\nrange-diff.c\nab5b0492 33) return size;\nab5b0492 95) strbuf_release(&contents);\n04539fc6 117) die(_(\"could not parse git header '%.*s'\"), (int)len, line);\n04539fc6 135)     patch.old_mode != patch.new_mode)\n04539fc6 136) strbuf_addf(&buf, \" (mode change %06o => %06o)\",\nab5b0492 181) strbuf_addstr(&buf, line);\n\nread-cache.c\n8eeabe15 1754) ret = error(_(\"index uses %.4s extension, which we do not understand\"),\nee70c128 1756) if (advice_unknown_index_extension) {\nee70c128 1757) warning(_(\"ignoring optional %.4s index extension\"), ext);\nee70c128 1758) advise(_(\"This is likely due to the file having been written by a newer\\n\"\n272b3f2a 2028) jw_object_true(jw, \"assume_unchanged\");\n272b3f2a 2032) jw_object_true(jw, \"skip_worktree\");\n272b3f2a 2034) jw_object_intmax(jw, \"stage\", ce_stage(ce));\nf0f544da 2311) ieot = read_ieot_extension(istate, mmap, mmap_size, extension_offset);\nf0f544da 3653) static struct index_entry_offset_table *read_ieot_extension(\nf0f544da 3675) return do_read_ieot_extension(istate, index, extsize);\n\nrepo-settings.c\nbbd04cf0 20) UPDATE_DEFAULT(rs->pack_use_sparse, 1);\n\nsplit-index.c\n1f825794 29) goto done;\n\nCommits introducting uncovered code:\nDerrick Stolee\tbbd04cf0 repo-settings: pack.useSparse=true\nJonathan Nieder\tee70c128 index: offer advice for unknown index extensions\nNguyễn Thái Ngọc Duy\t272b3f2a ls-files: add --json to dump the index\nNguyễn Thái Ngọc Duy\tfd335a21 cache-tree.c: dump \"TREE\" extension as json\nNguyễn Thái Ngọc Duy\t3b2385cf dir.c: dump \"UNTR\" extension as json\nNguyễn Thái Ngọc Duy\t8eeabe15 read-cache.c: dump common extension info in json\nNguyễn Thái Ngọc Duy\tf0f544da read-cache.c: dump \"IEOT\" extension as json\nNguyễn Thái Ngọc Duy\t1f825794 split-index.c: dump \"link\" extension as json\nThomas Gummerer\t85c3713d apply: only pass required data to git_header_name\nThomas Gummerer\tab5b0492 range-diff: split lines manually\nThomas Gummerer\t04539fc6 range-diff: add section header instead of diff header\n\n\nUncovered code in 'next' not in 'master'\n--------------------------------------------------------\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/blame.c\n\nbuiltin/commit-graph.c\nc2bc6e6a 203) 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/multi-pack-index.c\n\nbuiltin/rebase.c\n906b6394 1801) die(_(\"--reschedule-failed-exec requires \"\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;\n6c622f9f 1331) error(_(\"failed to write correct number of base graph ids\"));\n6c622f9f 1332) 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;\n\nconfig.c\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\nfast-import.c\nd3b4705a 2565) char *buf = read_object_with_reference(the_repository,\nd3b4705a 2566)        &n->oid,\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\noidset.c\n\npackfile.c\n8434e85d 372) strbuf_release(&buf);\n8434e85d 373) return;\n\nref-filter.c\nb31e2680 1967) break;\n\nsequencer.c\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\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-match-trees.c\n90d34051 23) shift_tree(the_repository, &one->object.oid, &two->object.oid, &shifted, -1);\n\nCommits introducting uncovered code:\nÆvar Arnfjörð Bjarmason\t2e43cd4c config.c: refactor die_bad_number() to not call gettext() early\nÆvar Arnfjörð Bjarmason\tb4f207f3 env--helper: new undocumented builtin wrapping git_env_*()\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\nDerrick Stolee\tc2bc6e6a commit-graph: create options for split files\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\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\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\t8434e85d repack: refactor pack deletion for future use\nDimitriy Ryazantcev\t8f354a1f l10n: localizable upload progress messages\nJeff King\t709dfa69 object-store.h: move for_each_alternate_ref() from transport.h\nJohannes Schindelin\t906b6394 rebase --am: ignore rebase.rescheduleFailedExec\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\t50ddb089 tree-walk.c: remove the_repo from get_tree_entry()\nPhillip Wood\ted5b1ca1 status: do not report errors in sequencer/todo\nRohit Ashiwal\t6a1f9046 sequencer: add advice for revert\nRohit Ashiwal\tde81ca3f cherry-pick/revert: add --skip option\nTaylor Blau\tb31e2680 ref-filter.c: find disjoint pattern prefixes\n\n\nUncovered code in 'master' not in 'master@{1}'\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\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/commit.c\ne103f727 1691) return 1;\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\ne103f727 691) return 1;\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 1648) error(_(\"could not remove '%s'\"),\n\ncommit-graph.c\nef5b83f2 906) error(_(\"error opening index for %s\"), packname.buf);\nef5b83f2 907) return -1;\n4c9efe85 946) continue;\nb2c83060 969) display_progress(ctx->progress, ctx->approx_nr_objects);\n238def57 1039) error(_(\"unable to create leading directories of %s\"),\n238def57 1041) return -1;\ne103f727 1158) error(_(\"the commit graph format cannot write %d commits\"), count_distinct);\ne103f727 1159) res = -1;\ne103f727 1160) goto cleanup;\ne103f727 1169) error(_(\"too many commits to write graph\"));\ne103f727 1170) res = -1;\ne103f727 1171) goto cleanup;\n\nconfig.c\n07b2c0ea 283) return 0;\n\ndelta-islands.c\nbdbdf42f 467) fprintf(stderr, _(\"Marked %d islands, done.\\n\"), island_counter);\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\nkwset.c\n08e04506 45) BUG(\"Cannot allocate a negative amount: %ld\", size);\n\nname-hash.c\n568a05c5 348) assert(begin >= 0);\n568a05c5 350) int mid = begin + ((end - begin) >> 1);\n\npack-bitmap-write.c\n05805d74 378) static struct ewah_bitmap *find_reused_bitmap(const struct object_id *oid)\nd2bc62b1 385) hash_pos = kh_get_oid_map(writer.reused, *oid);\n05805d74 425) reused_bitmap = find_reused_bitmap(&chosen->object.oid);\n05805d74 432) reused_bitmap = find_reused_bitmap(&cm->object.oid);\n\npackfile.c\n921d49be 1275) COPY_ARRAY(poi_stack, small_poi_stack, poi_stack_nr);\n921d49be 1685) 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\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);\n\nsh-i18n--envsubst.c\n568a05c5 252)   size_t j = j1 + ((j2 - j1) >> 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 1118) strbuf_addf(&sb, _(\"\\n\"\n\nCommits introducting uncovered code:\nDenton Liu\t07b2c0ea config: learn the \"onbranch:\" includeIf condition\nDerrick Stolee\tef5b83f2 commit-graph: extract fill_oids_from_packs()\nDerrick Stolee\te103f727 commit-graph: return with errors during write\nDerrick Stolee\tcdbd70c4 fetch: add --[no-]show-forced-updates argument\nDerrick Stolee\t377444b4 fetch: warn about forced updates in branch listing\nDerrick Stolee\t3883c551 pull: add --[no-]show-forced-updates passthrough\nDerrick Stolee\t238def57 commit-graph: extract write_commit_graph_file()\nDerrick Stolee\t4c9efe85 commit-graph: extract fill_oids_from_commit_hex()\nDerrick Stolee\tb2c83060 commit-graph: extract fill_oids_from_all_packs()\nJeff Hostetler\t0a53561a status: warn when a/b calculation takes too long\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\td2bc62b1 pack-bitmap: convert khash_sha1 maps into kh_oid_map\nJeff King\t05805d74 pack-bitmap-write: convert some helpers to use object_id\nJohannes Schindelin\t08e04506 kwset: allow building with GCC 8\nMatthew DeVore\t28438e84 ref-filter: sort detached HEAD lines firstly\nNguyễn Thái Ngọc Duy\t0778b293 fetch-pack: move capability names out of i18n strings\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\t183fb44f restore: add --worktree and --staged\nNguyễn Thái Ngọc Duy\tc9c935f6 restore: take tree-ish from --source option instead\nNguyễn Thái Ngọc Duy\t3ec37ad1 switch: add --discard-changes\nNguyễn Thái Ngọc Duy\td16dc428 switch: allow to switch in the middle of bisect\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\t568a05c5 cleanup: fix possible overflow errors in binary search, part 2\nRené Scharfe\t921d49be use COPY_ARRAY for copying arrays\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()\n\n\n"},{"id":"378865","messageId":"6613af78-9c73-6e0d-79f2-9206cce0ab8f@iee.org","threadId":"51461","inReplyTo":"0bb53084-0604-21c1-c127-0eecd6481bbb@gmail.com","subject":"Re: Git Test Coverage Report (Wed. July 10)","fromName":"Philip Oakley","fromEmail":"philipoakley@iee.org","sentAt":"2019-07-11T21:07:33Z","receivedAt":"2019-07-11T21:07:38Z","isPatch":false,"sender":{"key":"philipoakley@iee.email","avatar":"https://avatars.githubusercontent.com/u/914343?v=4"},"body":"On 11/07/2019 03:13, Derrick Stolee wrote:\n> I apologize for the incorrect report sent earlier. I changed something about my workflow, and it changed where build outputs were downloaded and I included an old report.\n>\n> -Stolee\n>\n> ---\n>\n> pu\tc984b65d414a0da7af629eb476f12b27e13ede0b\n> jch\t2bb3fc833ce3b23a27fdaba73982b617ba480bb7\n> next\tf5cf68d754516a24d6a948b93daa5343b6152217\n> master\t6d5b26420848ec3bc7eae46a7ffa54f20276249d\n> master@{1}\t8dca754b1e874719a732bc9ab7b0e14b21b1bc10\n>\n[snip]\n>\n> Uncovered code in 'master' not in 'master@{1}'\n> --------------------------------------------------------\n>\n> builtin/branch.c\n> 1fde99cf 841) die(_(\"The -a, and -r, options to 'git branch' do not take a branch name.\\n\"\n>\n\n[snip]\n\n>\n> Commits introducting uncovered code:\n> ...\n> Philip Oakley\t1fde99cf doc branch: provide examples for listing remote tracking branches\n>\nHi Stolee,\n\nBack at [1] (8 Jun 2019) I suggested a possible test that could cover \nthis update to the message.\n\nThe main doc changes went through following [2] (14 Jun 2019) after \nconfirming that the original RFC note on my patches was just for the \ndie() message change (which then begat this test coverage omission).\n\nHowever there are a large number (34) of other die() messages in \nbranch.c, so it may not be worth a special effort to catch all of them. \nI'm minded to let it drop.\n\nPhilip\n\n[1] \nhttps://public-inbox.org/git/f28dd5b1-fda8-cf51-5582-067a7d2c2472@iee.org/\n[2] \nhttps://public-inbox.org/git/024373d9-e032-1af8-ba26-439ad5620bf5@iee.org/\n"}]}