{"thread":{"id":"52945","subject":"Git Test Coverage Report (v2.26.0-rc0)","startedAt":"2020-03-06T12:08:47Z","lastAt":"2020-03-06T12:08:47Z","messageCount":1,"participants":["Derrick Stolee"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"392899","messageId":"6c0641cc-b4f5-e05c-9ffc-3003dd376cf3@gmail.com","threadId":"52945","inReplyTo":null,"subject":"Git Test Coverage Report (v2.26.0-rc0)","fromName":"Derrick Stolee","fromEmail":"stolee@gmail.com","sentAt":"2020-03-06T12:08:38Z","receivedAt":"2020-03-06T12:08:47Z","isPatch":false,"sender":{"key":"stolee@gmail.com","avatar":"https://avatars.githubusercontent.com/u/570044?v=4"},"body":"Here is the test coverage report for v2.26.0-rc0 versus v2.25.1.\n\nThanks,\n-Stolee\n\n[1] https://derrickstolee.github.io/git-test-coverage/reports/v2.26.0-rc0-commits.txt\n[2] https://derrickstolee.github.io/git-test-coverage/reports/v2.26.0-rc0.txt\n[3] https://derrickstolee.github.io/git-test-coverage/reports/v2.26.0-rc0.htm\n\n---\n\ntarget\tfork/master\nbase\trefs/tags/v2.25.1\n\n\nUncovered code in 'target' not in 'base'\n--------------------------------------------------------\n\nCommits introducing uncovered code:\nAlban Gruin\t5a5445d8 rebase-interactive: warn if commit is dropped with `rebase --edit-todo'\nsequencer.c\n5a5445d8 4261) unlink(rebase_path_dropped());\n\nAlban Gruin\t1da5874c sequencer: move check_todo_list_from_file() to rebase-interactive.c\nrebase-interactive.c\n1da5874c 234) goto out;\n1da5874c 239) goto out;\n1da5874c 246) fprintf(stderr, _(edit_todo_list_advice));\n\nBenno Evers\t30b1c7ad describe: don't abort too early when searching tags\nbuiltin/describe.c\n30b1c7ad 394) fprintf(stderr, _(\"finished search at %s\\n\"),\n30b1c7ad 395) oid_to_hex(&c->object.oid));\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\nBert Wesarg\t1a83068c remote: clean-up by returning early to avoid one indentation\nbuiltin/remote.c\n1a83068c 287) return 0;\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\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\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\nHans Jerry Illikainen\t54887b46 gpg-interface: add minTrustLevel as a configuration option\nbuiltin/pull.c\n54887b46 353) return status;\n\ngpg-interface.c\n54887b46 143) return 1;\n54887b46 207) free(trust);\n54887b46 208) goto error;\n54887b46 348) return config_error_nonbool(var);\n\npretty.c\n54887b46 1355) strbuf_addstr(sb, \"never\");\n54887b46 1356) break;\n54887b46 1358) strbuf_addstr(sb, \"marginal\");\n54887b46 1359) break;\n54887b46 1361) strbuf_addstr(sb, \"fully\");\n54887b46 1362) break;\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\tda806352 diff: move diff.wsErrorHighlight to \"basic\" config\ndiff.c\nda806352 448) return -1;\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\t4f3bd560 pack-bitmap: implement BLOB_NONE filtering\npack-bitmap.c\n4f3bd560 732) continue;\n\nJeff King\tbb514de3 pack-objects: improve partial packfile reuse\npack-bitmap.c\nbb514de3 1033) return;\nbb514de3 1036) return;\nbb514de3 1048) return;\nbb514de3 1086) i = bitmap_git->pack->num_objects / BITS_IN_EWORD;\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\te704fc79 pack-objects: introduce pack.allowPackReuse\nbuiltin/pack-objects.c\ne704fc79 2845) allow_pack_reuse = git_config_bool(k, v);\ne704fc79 2846) return 0;\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\tb99b6bcc packed_object_info(): use object_id for returning delta base\nsha1-file.c\nb99b6bcc 1478) oidclr(oi->delta_base_oid);\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\t2fecc48c packfile: drop nth_packed_object_sha1()\npackfile.c\n2fecc48c 1878) return -1;\n\nJeff King\t92fb0db9 pack-objects: add checks for duplicate objects\nbuiltin/pack-objects.c\n92fb0db9 1134) return 1;\n92fb0db9 2692) (reuse_packfile_bitmap &&\n92fb0db9 2693)  bitmap_walk_contains(bitmap_git, reuse_packfile_bitmap, oid));\n\nJeff King\t608d9c93 rev-list: allow bitmaps when counting objects\nbuiltin/rev-list.c\n608d9c93 410) return -1;\n\nJohannes Schindelin\t6610e462 built-in stash: use the built-in `git add -p` if so configured\nbuiltin/stash.c\n6610e462 1026) setenv(INDEX_ENVIRONMENT, old_index_env, 1);\n\nJohannes Schindelin\t180f48df built-in add -p: support interactive.diffFilter\nadd-patch.c\n180f48df 557) else if (p != pend)\n180f48df 559) goto mismatched_output;\n180f48df 590) return -1;\n\nJohannes Schindelin\td2a233cb built-in add -p: prepare for patch modes other than \"stage\"\nadd-patch.c\nd2a233cb 1567)       _(s->mode->help_patch_text));\n\nJohannes Schindelin\t94ac3c31 terminal: make the code of disable_echo() reusable\ncompat/terminal.c\n94ac3c31 38) static int disable_bits(tcflag_t bits)\n94ac3c31 49) t.c_lflag &= ~bits;\n94ac3c31 59) static int disable_echo(void)\n94ac3c31 61) return disable_bits(ECHO);\n\nJohannes Schindelin\t12acdf57 built-in add -p: handle Escape sequences more efficiently\ncompat/terminal.c\n12acdf57 255) static int sequence_entry_cmp(const void *hashmap_cmp_fn_data,\n12acdf57 260) return strcmp(e1->sequence, keydata ? keydata : e2->sequence);\n12acdf57 263) static int is_known_escape_sequence(const char *sequence)\n12acdf57 268) if (!initialized) {\n12acdf57 269) struct child_process cp = CHILD_PROCESS_INIT;\n12acdf57 270) struct strbuf buf = STRBUF_INIT;\n12acdf57 273) hashmap_init(&sequences, (hashmap_cmp_fn)sequence_entry_cmp,\n12acdf57 276) argv_array_pushl(&cp.args, \"infocmp\", \"-L\", \"-1\", NULL);\n12acdf57 277) if (pipe_command(&cp, NULL, 0, &buf, 0, NULL, 0))\n12acdf57 278) strbuf_setlen(&buf, 0);\n12acdf57 280) for (eol = p = buf.buf; *p; p = eol + 1) {\n12acdf57 281) p = strchr(p, '=');\n12acdf57 282) if (!p)\n12acdf57 283) break;\n12acdf57 284) p++;\n12acdf57 285) eol = strchrnul(p, '\\n');\n12acdf57 287) if (starts_with(p, \"\\\\E\")) {\n12acdf57 288) char *comma = memchr(p, ',', eol - p);\n12acdf57 291) p[0] = '^';\n12acdf57 292) p[1] = '[';\n12acdf57 293) FLEX_ALLOC_MEM(e, sequence, p, comma - p);\n12acdf57 294) hashmap_entry_init(&e->entry,\n12acdf57 295)    strhash(e->sequence));\n12acdf57 296) hashmap_add(&sequences, &e->entry);\n12acdf57 298) if (!*eol)\n12acdf57 299) break;\n12acdf57 301) initialized = 1;\n12acdf57 304) return !!hashmap_get_from_hash(&sequences, strhash(sequence), sequence);\n12acdf57 345) while (!is_known_escape_sequence(buf->buf)) {\n\nJohannes Schindelin\t52628f94 built-in add -p: implement the \"checkout\" patch modes\nadd-patch.c\n52628f94 1272) fwrite(diff->buf, diff->len, 1, stderr);\n\nJohannes Schindelin\ta5e46e6b terminal: add a new function to read a single keystroke\ncompat/terminal.c\na5e46e6b 64) static int enable_non_canonical(void)\na5e46e6b 66) return disable_bits(ICANON | ECHO);\na5e46e6b 307) int read_key_without_echo(struct strbuf *buf)\na5e46e6b 312) if (warning_displayed || enable_non_canonical() < 0) {\na5e46e6b 313) if (!warning_displayed) {\na5e46e6b 316) warning_displayed = 1;\na5e46e6b 319) return strbuf_getline(buf, stdin);\na5e46e6b 322) strbuf_reset(buf);\na5e46e6b 323) ch = getchar();\na5e46e6b 324) if (ch == EOF) {\na5e46e6b 325) restore_term();\na5e46e6b 326) return EOF;\na5e46e6b 328) strbuf_addch(buf, ch);\na5e46e6b 358) restore_term();\na5e46e6b 359) return 0;\n\nJohannes Schindelin\te118f063 built-in add -p: handle Escape sequences in interactive.singlekey mode\ncompat/terminal.c\ne118f063 330) if (ch == '\\033' /* ESC */) {\ne118f063 338) strbuf_splice(buf, buf->len - 1, 1, \"^[\", 2);\ne118f063 346) struct pollfd pfd = { .fd = 0, .events = POLLIN };\ne118f063 348) if (poll(&pfd, 1, 500) < 1)\ne118f063 349) break;\ne118f063 351) ch = getchar();\ne118f063 352) if (ch == EOF)\ne118f063 353) return 0;\ne118f063 354) strbuf_addch(buf, ch);\n\nJohannes Schindelin\t04f816b1 built-in add -p: respect the `interactive.singlekey` config setting\nadd-patch.c\n04f816b1 1156) int res = read_key_without_echo(&s->answer);\n04f816b1 1157) printf(\"%s\\n\", res == EOF ? \"\" : s->answer.buf);\n04f816b1 1158) return res;\n\nJohannes Schindelin\t90a6bb98 legacy stash -p: respect the add.interactive.usebuiltin setting\nbuiltin/add.c\n90a6bb98 453) parse_pathspec(&pathspec, 0,\n90a6bb98 459) return run_add_interactive(NULL, \"--patch=stash\", &pathspec);\n\nJonathan Tan\t50033772 connected: verify promisor-ness of partial clone\nconnected.c\n50033772 70) continue;\n\nJunio C Hamano\t0106b1d4 Revert \"gpg-interface: prefer check_signature() for GPG verification\"\nbuiltin/fmt-merge-msg.c\n0106b1d4 506) if (!sig.len)\n0106b1d4 507) strbuf_addstr(&sig, \"gpg verification failed.\\n\");\n\ngpg-interface.c\n0106b1d4 434) return error_errno(_(\"could not create temporary file\"));\n0106b1d4 437) error_errno(_(\"failed writing detached signature to '%s'\"),\n0106b1d4 439) delete_tempfile(&temp);\n0106b1d4 440) return -1;\n\nlog-tree.c\n0106b1d4 462) strbuf_addstr(&gpg_output, \"No signature\\n\");\n0106b1d4 534) else if (verify_message.len <= gpg_message_offset)\n\nJunio C Hamano\te8e71848 Merge branch 'jk/nth-packed-object-id'\npack-bitmap.c\ne8e71848 799) nth_packed_object_id(&oid, pack, entry->nr);\n\nKevin Willford\t8da2c576 fsmonitor: handle version 2 of the hooks that will use opaque token\nfsmonitor.c\n8da2c576 36) if (hook_version == HOOK_INTERFACE_VERSION1 ||\n8da2c576 37)     hook_version == HOOK_INTERFACE_VERSION2)\n8da2c576 38) return hook_version;\n8da2c576 199) strbuf_addf(&last_update_token, \"%\"PRIu64\"\", last_update);\n\nKevin Willford\t56c69100 fsmonitor: change last update timestamp on the index_state to opaque token\nfsmonitor.c\n56c69100 62) timestamp = get_be64(index);\n56c69100 63) strbuf_addf(&last_update, \"%\"PRIu64\"\", timestamp);\n56c69100 64) index += sizeof(uint64_t);\n\nMatheus Tavares\t31877c9a object-store: allow threaded access to object reading\npackfile.c\n31877c9a 1474) return;\n\nsha1-file.c\n31877c9a 1431) return;\n31877c9a 1440) return;\n\nMatheus Tavares\tc8123e72 streaming: allow open_istream() to handle any repo\nstreaming.c\nc8123e72 154) if (open_istream_incore(st, r, &oi, real, type)) {\n\nMatthew Rogers\t9a83d088 submodule-config: add subomdule config scope\nconfig.c\n9a83d088 3315) return \"submodule\";\n\nMatthew Rogers\te37efa40 config: teach git_config_source to remember its scope\nbuiltin/config.c\ne37efa40 670) given_config_source.scope = CONFIG_SCOPE_SYSTEM;\n\nMatthew Rogers\t6dc905d9 config: split repo scope to local and worktree\nconfig.c\n6dc905d9 3311) return \"worktree\";\n\nMatthew Rogers\ta5cb4204 config: make scope_name non-static and rename it\nconfig.c\na5cb4204 3305) return \"system\";\na5cb4204 3317) return \"unknown\";\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\nRené Scharfe\ta91cc7fa strbuf: add and use strbuf_insertstr()\nnotes.c\na91cc7fa 1337) strbuf_insertstr(sb, 0, \"refs/\");\n\nRené Scharfe\t2d539754 name-rev: release unused name strings\nbuiltin/name-rev.c\n2d539754 102) free(name->tip_name);\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\n"}]}