{"thread":{"id":"52897","subject":"Git Test Coverage Report (Feb 26, 2020)","startedAt":"2020-02-27T06:45:56Z","lastAt":"2020-02-27T06:45:56Z","messageCount":1,"participants":["Derrick Stolee"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"392601","messageId":"90529cab-54ef-4537-ec32-5c2c658e4005@gmail.com","threadId":"52897","inReplyTo":null,"subject":"Git Test Coverage Report (Feb 26, 2020)","fromName":"Derrick Stolee","fromEmail":"stolee@gmail.com","sentAt":"2020-02-27T06:45:49Z","receivedAt":"2020-02-27T06:45:56Z","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/2020-02-26-commits.txt\n[2] https://derrickstolee.github.io/git-test-coverage/reports/2020-02-26.txt\n[3] https://derrickstolee.github.io/git-test-coverage/reports/2020-02-26.htm\n\n---\n\npu\t0499e6851714dfb1c1955459f7877dd0e19dfb87\njch\tf0fb2e280f2e7a3834e630326ef106d8fcccce21\nnext\t5900a2a8f925f2c0ac44ac71f8d2c1959bdec53b\nmaster\t2d2118b814c11f509e1aa76cb07110f7231668dc\nmaster@{1}\t51ebf55b9309824346a6589c9f3b130c6f371b8f\n\n\nUncovered code in 'pu' not in 'jch'\n--------------------------------------------------------\n\nCommits introducing uncovered code:\nBenno Evers\tf1b15bc8 describe: dont abort too early when searching tags\nbuiltin/describe.c\nf1b15bc8 397) fprintf(stderr, _(\"finished search at %s\\n\"),\nf1b15bc8 398) oid_to_hex(&c->object.oid));\n\nbrian m. carlson\t9bf55b8e tag: store SHA-256 signatures in a header\nbuiltin/mktag.c\n9bf55b8e 148) !memcmp(tagger_line, \"gpgsig-sha256 \", 14)) {\n9bf55b8e 149) char *p = strpbrk(tagger_line + 1, \"\\n\");\n9bf55b8e 150) if (!p)\n9bf55b8e 153) tagger_line = p + 1;\n9bf55b8e 154) while (*tagger_line == ' ' && (p = strpbrk(tagger_line, \"\\n\")))\n9bf55b8e 155) tagger_line = p + 1;\n9bf55b8e 156) if (!p)\n\nbuiltin/tag.c\n9bf55b8e 133) return sign_with_header(buffer, get_signing_key());\n\ngpg-interface.c\n9bf55b8e 376) return parse_buffer_signed_by_header(buf, size, payload, signature);\n\nbrian m. carlson\te02a7141 worktree: allow repository version 1\nworktree.c\ne02a7141 470) strbuf_release(&err);\n\nbrian m. carlson\t768e30ea hash: implement and use a context cloning function\nsha1-file.c\n768e30ea 98) static void git_hash_sha256_clone(git_hash_ctx *dst, const git_hash_ctx *src)\n768e30ea 100) git_SHA256_Clone(&dst->sha256, &src->sha256);\n768e30ea 101) }\n768e30ea 118) static void git_hash_unknown_clone(git_hash_ctx *dst, const git_hash_ctx *src)\n\nbrian m. carlson\te8356e2d fast-import: add options for rewriting submodules\nfast-import.c\ne8356e2d 2183) return -1;\ne8356e2d 3058) return;\ne8356e2d 3316) die_errno(\"cannot read '%s'\", f);\n\nbrian m. carlson\t12373043 fast-import: permit reading multiple marks files\nfast-import.c\n12373043 1149) insert_mark(marks, mark, e);\n\nbrian m. carlson\t3c9331a1 builtin/init-db: add environment variable for new repo hash\nbuiltin/init-db.c\n3c9331a1 378) int env_algo = hash_algo_by_name(env);\n3c9331a1 379) if (env_algo == GIT_HASH_UNKNOWN)\n3c9331a1 381) repo_fmt->hash_algo = env_algo;\n\nbrian m. carlson\t8b8f7189 builtin/init-db: allow specifying hash algorithm on command line\nbuiltin/init-db.c\n8b8f7189 376) repo_fmt->hash_algo = hash;\n8b8f7189 599) hash_algo = hash_algo_by_name(object_format);\n8b8f7189 600) if (hash_algo == GIT_HASH_UNKNOWN)\n\nbrian m. carlson\tefa7ae36 init-db: move writing repo version into a function\nbuiltin/init-db.c\nefa7ae36 192) repo_version = GIT_REPO_VERSION_READ;\nefa7ae36 200) git_config_set(\"extensions.objectformat\",\n\nDenton Liu\t448bea61 sequencer: make apply_rebase() accept a path\nsequencer.c\n448bea61 5143) apply_autostash(rebase_path_autostash());\n\nDenton Liu\tfa717471 sequencer: use file strbuf for read_oneliner()\nsequencer.c\nfa717471 438) goto done;\nfa717471 444) goto done;\n\nDenton Liu\tb3137f2e reset: extract reset_head() from rebase\nreset.c\nb3137f2e 37) ret = -1;\nb3137f2e 38) goto leave_reset_head;\nb3137f2e 43) goto leave_reset_head;\nb3137f2e 65) goto leave_reset_head;\nb3137f2e 71) goto leave_reset_head;\nb3137f2e 76) goto leave_reset_head;\nb3137f2e 80) ret = -1;\nb3137f2e 81) goto leave_reset_head;\nb3137f2e 89) goto leave_reset_head;\nb3137f2e 108) } else if (old_orig)\nb3137f2e 109) delete_ref(NULL, \"ORIG_HEAD\", old_orig, 0);\n\nDenton Liu\te71223c6 rebase: use apply_autostash() from sequencer.c\nbuiltin/rebase.c\ne71223c6 1028) apply_autostash(state_dir_path(\"autostash\", opts));\n\nDenton Liu\t06ebea5c rebase: generify reset_head()\nbuiltin/rebase.c\n06ebea5c 868) reset_head(the_repository, &opts->orig_head, \"checkout\",\n06ebea5c 869)    opts->head_name, 0,\n\nDenton Liu\t186dbeed rebase: use read_oneliner()\nbuiltin/rebase.c\n186dbeed 618) } else if (!read_oneliner(&buf, state_dir_path(\"head\", opts), 0, 1))\n\nDerrick Stolee\t3d2f906e diff: halt tree-diff early after max_changes\ntree-diff.c\n3d2f906e 438) break;\n\nDerrick Stolee\t92667ee9 commit-graph: examine commits by generation number\ncommit-graph.c\n92667ee9 89) else if (a->date > b->date)\n92667ee9 90) return 1;\n92667ee9 91) return 0;\n92667ee9 1296) QSORT(sorted_by_pos, ctx->commits.nr, commit_pos_cmp);\n\nEmily Shaffer\t54391444 bugreport: summarize contents of alternates file\nbugreport.c\n54391444 282) while (strbuf_getline(&alternate, file) != EOF) {\n54391444 283) if (!access(alternate.buf, F_OK))\n54391444 284) exists++;\n54391444 286) broken++;\n54391444 289) strbuf_addf(alternates_info,\n54391444 295) fclose(file);\n54391444 296) strbuf_release(&alternate);\n54391444 297) strbuf_release(&alternates_path);\n\nEmily Shaffer\t7e925ee2 bugreport: add git-remote-https version\nbugreport.c\n7e925ee2 23)     strbuf_addstr(version_info, \"'git-remote-https --build-info' not supported\\n\");\n\nEmily Shaffer\t8edf9c76 bugreport: add uname info\nbugreport.c\n8edf9c76 39) strbuf_addf(sys_info, \"uname() failed with code %d\\n\", errno);\n\nEmily Shaffer\t6c0f5520 bugreport: add config values from safelist\nbugreport.c\n6c0f5520 73) strbuf_addf(config_info, \"%s:\\n\", bugreport_config_safelist[idx]);\n6c0f5520 74) for_each_string_list_item(it, list) {\n6c0f5520 75) kv_info = it->util;\n6c0f5520 76) strbuf_addf(config_info, \"  %s (%s)\\n\", it->string,\n6c0f5520 77)     kv_info ? config_scope_name(kv_info->scope)\n\nEmily Shaffer\t679ab92c bugreport: add tool to generate debugging info\nbugreport.c\n679ab92c 406) strbuf_release(&report_path);\n\nEmily Shaffer\t13b1ca98 bugreport: collect list of populated hooks\nbugreport.c\n13b1ca98 126) strbuf_addstr(hook_info, iter->string);\n13b1ca98 127) strbuf_complete_line(hook_info);\n\nEmily Shaffer\t7a4dc0e0 bugreport: count loose objects\nbugreport.c\n7a4dc0e0 132) static int loose_object_cb(const struct object_id *oid, const char *path,\n7a4dc0e0 134) int *loose_object_count = data;\n7a4dc0e0 136) if (loose_object_count) {\n7a4dc0e0 137) (*loose_object_count)++;\n7a4dc0e0 138) return 0;\n7a4dc0e0 141) return 1;\n\nEmily Shaffer\t7a226a68 bugreport: add packed object summary\nbugreport.c\n7a226a68 193) pack_count++;\n7a226a68 198) open_pack_index(pack);\n7a226a68 199) object_count += pack->num_objects;\n\nEmily Shaffer\t6bf7dba7 help: move list_config_help to builtin/help\nbuiltin/help.c\n6bf7dba7 123) puts(var);\n6bf7dba7 124) continue;\n\nEmily Shaffer\tb1cdb5e9 bugreport: list contents of $OBJDIR/info\nbugreport.c\nb1cdb5e9 216) return;\nb1cdb5e9 225) strbuf_addbuf(contents, dirpath);\nb1cdb5e9 226) strbuf_addstr(contents, d->d_name);\nb1cdb5e9 227) strbuf_complete_line(contents);\nb1cdb5e9 229) if (d->d_type == DT_DIR) {\nb1cdb5e9 230) strbuf_addstr(dirpath, d->d_name);\nb1cdb5e9 231) list_contents_of_dir_recursively(contents, dirpath);\nb1cdb5e9 233) strbuf_setlen(dirpath, path_len);\n\nEmily Shaffer\ta6ea0fe2 bugreport: gather git version and build info\nhelp.c\na6ea0fe2 641) strbuf_addstr(buf, \"no commit associated with this build\\n\");\n\nGarima Singh\tb6d925e7 bloom: core Bloom filter implementation for changed paths\nbloom.c\nb6d925e7 247) for (i = 0; i < diff_queued_diff.nr; i++)\nb6d925e7 248) diff_free_filepair(diff_queued_diff.queue[i]);\nb6d925e7 249) filter->data = NULL;\nb6d925e7 250) filter->len = 0;\nb6d925e7 267) return -1;\n\nt/helper/test-bloom.c\nb6d925e7 20) printf(\"No filter.\\n\");\nb6d925e7 21) return;\n\nGarima Singh\t282c08a9 commit-graph: write Bloom filters to commit graph file\ncommit-graph.c\n282c08a9 328) chunk_repeated = 1;\n282c08a9 335) chunk_repeated = 1;\n282c08a9 342) break;\n282c08a9 371) graph->chunk_bloom_indexes = NULL;\n282c08a9 372) graph->chunk_bloom_data = NULL;\n282c08a9 373) graph->bloom_filter_settings = NULL;\n282c08a9 1087) progress = start_delayed_progress(\n282c08a9 1089) ctx->commits.nr);\n282c08a9 1112) progress = start_delayed_progress(\n282c08a9 1114) ctx->commits.nr);\n282c08a9 1288) progress = start_delayed_progress(\n\nGarima Singh\t6bdbf235 commit-graph: compute Bloom filters for changed paths\ncommit-graph.c\n6bdbf235 1290) ctx->commits.nr);\n\nJeff King\tdc9f0216 commit-graph: examine changed-path objects in pack order\ncommit-graph.c\ndc9f0216 62) return; /* should never happen, but be lenient */\ndc9f0216 67) static int commit_pos_cmp(const void *va, const void *vb)\ndc9f0216 69) const struct commit *a = *(const struct commit **)va;\ndc9f0216 70) const struct commit *b = *(const struct commit **)vb;\ndc9f0216 71) return commit_pos_at(&commit_pos, a) -\ndc9f0216 72)        commit_pos_at(&commit_pos, b);\n\nPaolo Bonzini\te8ef1e8d am: convert \"resume\" variable to a struct\nbuiltin/am.c\ne8ef1e8d 2345) resume.mode = RESUME_APPLY;\n\nTaylor Blau\ta599e2c9 builtin/commit-graph.c: introduce '--input=<source>'\nbuiltin/commit-graph.c\na599e2c9 75) *to = 0;\na599e2c9 76) return 0;\na599e2c9 86) *to |= COMMIT_GRAPH_INPUT_APPEND;\n\nTaylor Blau\t5d5916fd builtin/commit-graph.c: support '--split[=<strategy>]'\ncommit-graph.c\n5d5916fd 1751) break;\n\n\n\nUncovered code in 'jch' not in 'next'\n--------------------------------------------------------\n\nCommits introducing uncovered code:\nHeba Waly\ta423e650 advice: revamp advise API\nadvice.c\na423e650 185) return get_config_value(PUSH_UPDATE_REJECTED) &&\na423e650 186)        get_config_value(PUSH_UPDATE_REJECTED_ALIAS);\n\nJeff King\t3f83fd5e pack-objects: read delta base oid into object_id struct\nbuiltin/pack-objects.c\n3f83fd5e 1647) if (!in_same_island(&delta->idx.oid, base_oid))\n\nJeff King\t6ac9760a packed_object_info(): use object_id internally for delta base\npackfile.c\n6ac9760a 1245) return -1;\n6ac9760a 1249) return -1;\n6ac9760a 1253) return -1;\n\nJeff King\t2fecc48c packfile: drop nth_packed_object_sha1()\npackfile.c\n2fecc48c 1878) return -1;\n\nJeff King\tb99b6bcc packed_object_info(): use object_id for returning delta base\nsha1-file.c\nb99b6bcc 1478) oidclr(oi->delta_base_oid);\n\nJunio C Hamano\t985e6002 Merge branch 'jk/nth-packed-object-id' into jch\npack-bitmap.c\n985e6002 799) nth_packed_object_id(&oid, pack, entry->nr);\n\nPhillip Wood\t430b75f7 commit: give correct advice for empty commit during a rebase\nsequencer.c\n430b75f7 1476)     return -1;\n\n\n\nUncovered code in 'next' not in 'master'\n--------------------------------------------------------\n\nCommits introducing uncovered code:\nElijah Newren\t8a997ed1 rebase, sequencer: remove the broken GIT_QUIET handling\nbuiltin/rebase.c\n8a997ed1 695) write_file(state_dir_path(\"quiet\", opts), \"%s\", \"\");\n\nElijah Newren\te98c4269 rebase (interactive-backend): fix handling of commits that become empty\nsequencer.c\ne98c4269 2523) opts->keep_redundant_commits = 1;\n\nElijah Newren\t10cdb9f3 rebase: rename the two primary rebase backends\nbuiltin/rebase.c\n10cdb9f3 1664) if (is_merge(&options))\n\nElijah Newren\td48e5e21 rebase (interactive-backend): make --keep-empty the default\nsequencer.c\nd48e5e21 1529) return originally_empty;\n\nHariom Verma\t4ef34648 receive.denyCurrentBranch: respect all worktrees\nbuiltin/receive-pack.c\n4ef34648 998) else if (git_work_tree_cfg)\n4ef34648 999) work_tree = git_work_tree_cfg;\n4ef34648 1001) work_tree = \"..\";\n4ef34648 1008) git_dir = get_git_dir();\n\nJeff King\t792f8119 rev-list: factor out bitmap-optimized routines\nbuiltin/rev-list.c\n792f8119 401) return -1;\n792f8119 444) return -1;\n\nJeff King\t84243da1 pack-bitmap: implement BLOB_LIMIT filtering\npack-bitmap.c\n84243da1 799) nth_packed_object_oid(&oid, pack, entry->nr);\n\nJeff King\t4f3bd560 pack-bitmap: implement BLOB_NONE filtering\npack-bitmap.c\n4f3bd560 732) continue;\n\nJeff King\t4eb707eb rev-list: allow commit-only bitmap traversals\npack-bitmap.c\n4eb707eb 626)     (obj->type == OBJ_TAG && !revs->tag_objects))\n4eb707eb 627) continue;\n\nJeff King\t608d9c93 rev-list: allow bitmaps when counting objects\nbuiltin/rev-list.c\n608d9c93 410) return -1;\n\nPranit Bauva\t6c69f222 bisect: libify `bisect_next_all`\nbisect.c\n6c69f222 1024) return BISECT_FAILED;\n\nPranit Bauva\t45b63708 bisect: libify `check_good_are_ancestors_of_bad` and its dependents\nbisect.c\n45b63708 920) warning_errno(_(\"could not create file '%s'\"),\n\nRené Scharfe\t2ce6d075 use strpbrk(3) to search for characters from a given set\nbuiltin/show-branch.c\n2ce6d075 539) if (strpbrk(av, \"*?[\")) {\n\nTanushree Tumane\tbfacfce7 bisect--helper: introduce new `decide_next()` function\nbuiltin/bisect--helper.c\nbfacfce7 320) return -1;\nbfacfce7 321) return 0;\n\nTanushree Tumane\t292731c4 bisect--helper: change `retval` to `res`\nbuiltin/bisect--helper.c\n292731c4 227) res = -1;\n292731c4 233) res = error_errno(_(\"couldn't open the file '%s'\"), git_path_bisect_log());\n292731c4 410) res = -1;\n292731c4 416) res = -1;\n292731c4 582) res = -1;\n292731c4 594) res = -1;\n292731c4 606) res = -1;\n\n\n\nUncovered code in 'master' not in 'master@{1}'\n--------------------------------------------------------\n\nCommits introducing uncovered code:\nBert Wesarg\t1a83068c remote: clean-up by returning early to avoid one indentation\nbuiltin/remote.c\n1a83068c 287) return 0;\n\nBert Wesarg\tf2a2327a config: provide access to the current line number\nconfig.c\nf2a2327a 3346) return cf->linenr;\n\nBert Wesarg\t88f8576e pull --rebase/remote rename: document and honor single-letter abbreviations rebase types\nrebase.c\n88f8576e 26) return REBASE_MERGES;\n\n\n\n"}]}