{"thread":{"id":"52753","subject":"Git Test Coverage Report (Feb. 6)","startedAt":"2020-02-06T13:47:04Z","lastAt":"2020-02-06T13:47:04Z","messageCount":1,"participants":["Derrick Stolee"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"391245","messageId":"aed4861a-35f5-8209-942f-eba25b0a30dc@gmail.com","threadId":"52753","inReplyTo":null,"subject":"Git Test Coverage Report (Feb. 6)","fromName":"Derrick Stolee","fromEmail":"stolee@gmail.com","sentAt":"2020-02-06T13:46:59Z","receivedAt":"2020-02-06T13:47:04Z","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\nNote that the 'pu' branch has a broken build, so the tests did not create gcov\nfiles on which to base the report.\n\nImpressively, the 'next' versus 'master' build did pass all tests, and still\nall new code is covered. Excellent!\n\nThanks,\n-Stolee\n\n[1] https://derrickstolee.github.io/git-test-coverage/reports/2020-02-06-commits.txt\n[2] https://derrickstolee.github.io/git-test-coverage/reports/2020-02-06.htm\n[3] https://derrickstolee.github.io/git-test-coverage/reports/2020-02-06.txt\n\n\n---\n\npu\td0ed4d6799b625ee919fd3f67184f372acec9a9c\njch\t7310a282c0dfc9aeb35993a60e43878295777eb9\nnext\tbab2e86ba084f1fa0dcbedeeaeed31da013036bb\nmaster\tde93cc14ab7e8db7645d8dbe4fd2603f76d5851f\nmaster@{1}\t232378479ee6c66206d47a9be175e3a39682aea6\n\n\nUncovered code in 'pu' not in 'jch'\n--------------------------------------------------------\n\nCommits introducing uncovered code:\n\n\nUncovered code in 'jch' not in 'next'\n--------------------------------------------------------\n\nCommits introducing uncovered code:\nAlex Torok\tfed842f0 rebase: fix --fork-point with short refname\nbuiltin/merge-base.c\nfed842f0 128) return 1;\n\nElijah Newren\t8ef6c12e rebase (interactive-backend): make --keep-empty the default\nsequencer.c\n8ef6c12e 1527) return originally_empty;\n\nElijah Newren\t81f5bc1c rebase, sequencer: remove the broken GIT_QUIET handling\nbuiltin/rebase.c\n81f5bc1c 706) write_file(state_dir_path(\"quiet\", opts), \"%s\", \"\");\n\nElijah Newren\t91e0ed22 rebase (interactive-backend): fix handling of commits that become empty\nsequencer.c\n91e0ed22 2519) opts->keep_redundant_commits = 1;\n\nJeff King\tbb514de3 pack-objects: improve partial packfile reuse\npack-bitmap.c\nbb514de3 808) return;\nbb514de3 811) return;\nbb514de3 823) return;\nbb514de3 861) i = bitmap_git->pack->num_objects / BITS_IN_EWORD;\n\nJeff King\t92fb0db9 pack-objects: add checks for duplicate objects\nbuiltin/pack-objects.c\n92fb0db9 1133) return 1;\n92fb0db9 2690) (reuse_packfile_bitmap &&\n92fb0db9 2691)  bitmap_walk_contains(bitmap_git, reuse_packfile_bitmap, oid));\n\nJeff King\te704fc79 pack-objects: introduce pack.allowPackReuse\nbuiltin/pack-objects.c\ne704fc79 2843) allow_pack_reuse = git_config_bool(k, v);\ne704fc79 2844) return 0;\n\nJeff King\tda806352 diff: move diff.wsErrorHighlight to \"basic\" config\ndiff.c\nda806352 448) return -1;\n\nJonathan Tan\t50033772 connected: verify promisor-ness of partial clone\nconnected.c\n50033772 70) continue;\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\nMartin Ågren\t3bcdd852 builtin/config: extract `handle_value_regex()` from `get_value()`\nbuiltin/config.c\n3bcdd852 346) return CONFIG_INVALID_PATTERN;\n3bcdd852 391) goto free_strings;\n\nMartin Ågren\t3bf986d6 builtin/config: collect \"value_regexp\" data in a struct\nbuiltin/config.c\n3bf986d6 345) FREE_AND_NULL(cmd_line_value.regexp);\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\t3c25ad75 config: add '--show-scope' to print the scope of a config value\nbuiltin/config.c\n3c25ad75 712) given_config_source.scope = CONFIG_SCOPE_SYSTEM;\n\nconfig.c\n3c25ad75 3310) return \"system\";\n3c25ad75 3316) return \"worktree\";\n3c25ad75 3320) return \"submodule\";\n3c25ad75 3322) return \"unknown\";\n\nRené Scharfe\t2d539754 name-rev: release unused name strings\nbuiltin/name-rev.c\n2d539754 102) free(name->tip_name);\n\n\n\nUncovered code in 'next' not in 'master'\n--------------------------------------------------------\n\nCommits introducing uncovered code:\n\n\nUncovered code in 'master' not in 'master@{1}'\n--------------------------------------------------------\n\nCommits introducing uncovered code:\nbrian m. carlson\t63ab08fb run-command: avoid undefined behavior in exists_in_PATH\nrun-command.c\n63ab08fb 216) int found = r != NULL;\n63ab08fb 218) return found;\n\nHans Jerry Illikainen\t54887b46 gpg-interface: add minTrustLevel as a configuration option\nbuiltin/pull.c\n54887b46 374) return status;\n\ngpg-interface.c\n54887b46 143) return 1;\n54887b46 207) free(trust);\n54887b46 208) goto error;\n54887b46 397) 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\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\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\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\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\t90a6bb98 legacy stash -p: respect the add.interactive.usebuiltin setting\nbuiltin/add.c\n90a6bb98 450) parse_pathspec(&pathspec, 0,\n90a6bb98 456) return run_add_interactive(NULL, \"--patch=stash\", &pathspec);\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\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\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\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\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\nJonathan Tan\t9c8a294a sha1-file: remove OBJECT_INFO_SKIP_CACHED\nsha1-file.c\n9c8a294a 1442) *(oi->disk_sizep) = 0;\n9c8a294a 1444) hashclr(oi->delta_base_sha1);\n9c8a294a 1446) strbuf_addstr(oi->type_name, type_name(co->type));\n\nRalf Thielow\ta4ffbbbb submodule.c: mark more strings for translation\nsubmodule.c\na4ffbbbb 1161) fprintf(stderr, _(\"Unable to push submodule '%s'\\n\"), path);\n\n\n"}]}