pu bd265ff036f83d7427ffd08d6b4a93523a9b7b70
jch 09c6e718d25f033b1feb5d8d43d2871536ca70df
next 88dfdc41939891b16a5f8d00053e9c81d6d73f4e
master 8679ef24ed64018bb62170c43ce73e0261c0600a
master@{1} 0a76bd7381ec0dbb7c43776eb6d1ac906bca29e6

Uncovered code in 'pu' not in 'jch'

pu bd265ff036f83d7427ffd08d6b4a93523a9b7b70
jch 09c6e718d25f033b1feb5d8d43d2871536ca70df

add-patch.c

60b7e674 1156 int res = read_key_without_echo(&s->answer);
60b7e674 1157 printf("%s\n", res == EOF ? "" : s->answer.buf);
60b7e674 1158 return res;

builtin/commit.c

builtin/grep.c

builtin/rebase.c

afc27b82 648 } else if (!read_oneliner(&buf, state_dir_path("head", opts), 0, 1))
d4e8a655 904 reset_head(the_repository, &opts->orig_head, "checkout",
d4e8a655 905 opts->head_name, 0,
82c638ef 1065 apply_autostash(state_dir_path("autostash", opts));

compat/terminal.c

aaafd603 38 static int disable_bits(tcflag_t bits)
aaafd603 49 t.c_lflag &= ~bits;
aaafd603 59 static int disable_echo(void)
aaafd603 61 return disable_bits(ECHO);
74e42899 64 static int enable_non_canonical(void)
74e42899 66 return disable_bits(ICANON | ECHO);
61131685 255 static int sequence_entry_cmp(const void *hashmap_cmp_fn_data,
61131685 260 return strcmp(e1->sequence, keydata ? keydata : e2->sequence);
61131685 263 static int is_known_escape_sequence(const char *sequence)
61131685 268 if (!initialized) {
61131685 269 struct child_process cp = CHILD_PROCESS_INIT;
61131685 270 struct strbuf buf = STRBUF_INIT;
61131685 273 hashmap_init(&sequences, (hashmap_cmp_fn)sequence_entry_cmp,
61131685 276 argv_array_pushl(&cp.args, "infocmp", "-L", "-1", NULL);
61131685 277 if (pipe_command(&cp, NULL, 0, &buf, 0, NULL, 0))
61131685 278 strbuf_setlen(&buf, 0);
61131685 280 for (eol = p = buf.buf; *p; p = eol + 1) {
61131685 281 p = strchr(p, '=');
61131685 282 if (!p)
61131685 283 break;
61131685 284 p++;
61131685 285 eol = strchrnul(p, '\n');
61131685 287 if (starts_with(p, "\\E")) {
61131685 288 char *comma = memchr(p, ',', eol - p);
61131685 291 p[0] = '^';
61131685 292 p[1] = '[';
61131685 293 FLEX_ALLOC_MEM(e, sequence, p, comma - p);
61131685 294 hashmap_entry_init(&e->entry,
61131685 295 strhash(e->sequence));
61131685 296 hashmap_add(&sequences, &e->entry);
61131685 298 if (!*eol)
61131685 299 break;
61131685 301 initialized = 1;
61131685 304 return !!hashmap_get_from_hash(&sequences, strhash(sequence), sequence);
74e42899 307 int read_key_without_echo(struct strbuf *buf)
74e42899 312 if (warning_displayed || enable_non_canonical() < 0) {
74e42899 313 if (!warning_displayed) {
74e42899 316 warning_displayed = 1;
74e42899 319 return strbuf_getline(buf, stdin);
74e42899 322 strbuf_reset(buf);
74e42899 323 ch = getchar();
74e42899 324 if (ch == EOF) {
74e42899 325 restore_term();
74e42899 326 return EOF;
74e42899 328 strbuf_addch(buf, ch);
53fa2153 330 if (ch == '\033' /* ESC */) {
53fa2153 338 strbuf_splice(buf, buf->len - 1, 1, "^[", 2);
61131685 345 while (!is_known_escape_sequence(buf->buf)) {
53fa2153 346 struct pollfd pfd = { .fd = 0, .events = POLLIN };
53fa2153 348 if (poll(&pfd, 1, 500) < 1)
53fa2153 349 break;
53fa2153 351 ch = getchar();
53fa2153 352 if (ch == EOF)
53fa2153 353 return 0;
53fa2153 354 strbuf_addch(buf, ch);
74e42899 358 restore_term();
74e42899 359 return 0;

packfile.c

beebb9d2 1453 return;

protocol.c

read-cache.c

ee70c128 1761 if (advice_unknown_index_extension) {

remote-curl.c

6da1f1a9 354 return 0;

reset.c

f2096173 37 ret = -1;
f2096173 38 goto leave_reset_head;
f2096173 43 goto leave_reset_head;
f2096173 65 goto leave_reset_head;
f2096173 71 goto leave_reset_head;
f2096173 76 goto leave_reset_head;
f2096173 80 ret = -1;
f2096173 81 goto leave_reset_head;
f2096173 89 goto leave_reset_head;
f2096173 108 } else if (old_orig)
f2096173 109 delete_ref(NULL, "ORIG_HEAD", old_orig, 0);

sequencer.c

daf6b9e4 439 goto done;
daf6b9e4 445 goto done;
430b75f7 1580 return -1;

sha1-file.c

beebb9d2 1431 return;
beebb9d2 1440 return;

Commits introducing uncovered code:

Denton Liu 38ac131a sequencer: extract perform_autostash() from rebase
Denton Liu daf6b9e4 sequencer: use file strbuf for read_oneliner()
Denton Liu afc27b82 rebase: use read_oneliner()
Denton Liu d4e8a655 rebase: generify reset_head()
Denton Liu 82c638ef rebase: use apply_autostash() from sequencer.c
Denton Liu f2096173 reset: extract reset_head() from rebase
Emily Shaffer fae9bc5a grep: support the --pathspec-from-file option
Johannes Schindelin 53fa2153 built-in add -p: handle Escape sequences in interactive.singlekey mode
Johannes Schindelin 61131685 built-in add -p: handle Escape sequences more efficiently
Johannes Schindelin 74e42899 terminal: add a new function to read a single keystroke
Johannes Schindelin aaafd603 terminal: make the code of disable_echo() reusable
Johannes Schindelin 60b7e674 built-in add -p: respect the `interactive.singlekey` config setting
Johannes Schindelin ad9af7e8 built-in add -p: support interactive.diffFilter
Jonathan Nieder ee70c128 index: offer advice for unknown index extensions
Josh Steadmon 6da1f1a9 protocol: advertise multiple supported versions
Matheus Tavares beebb9d2 object-store: allow threaded access to object reading
Phillip Wood 430b75f7 commit: give correct advice for empty commit during a rebase
Phillip Wood 012ecfce rebase: fix advice when a fixup creates an empty commit

Uncovered code in 'jch' not in 'next'

jch 09c6e718d25f033b1feb5d8d43d2871536ca70df
next 88dfdc41939891b16a5f8d00053e9c81d6d73f4e

builtin/config.c

3bf986d6 329 FREE_AND_NULL(cmd_line_value.regexp);
3bcdd852 330 return CONFIG_INVALID_PATTERN;
3bcdd852 375 goto free_strings;

builtin/merge-base.c

fed842f0 128 return 1;

rebase-interactive.c

0d50cf5e 210 goto out;
0d50cf5e 215 goto out;
0d50cf5e 224 fprintf(stderr, _(edit_todo_list_advice));

refs.c

sha1-file.c

9c8a294a 1442 *(oi->disk_sizep) = 0;
9c8a294a 1444 hashclr(oi->delta_base_sha1);
9c8a294a 1446 strbuf_addstr(oi->type_name, type_name(co->type));

Commits introducing uncovered code:

Alban Gruin 5ef50d63 rebase-interactive: warn if commit is dropped with `rebase --edit-todo'
Alban Gruin 0d50cf5e sequencer: move check_todo_list_from_file() to rebase-interactive.c
Alex Torok fed842f0 rebase: fix --fork-point with short refname
Jonathan Tan 9c8a294a sha1-file: remove OBJECT_INFO_SKIP_CACHED
Martin Ågren 3bf986d6 builtin/config: collect "value_regexp" data in a struct
Martin Ågren 3bcdd852 builtin/config: extract `handle_value_regex()` from `get_value()`

Uncovered code in 'next' not in 'master'

next 88dfdc41939891b16a5f8d00053e9c81d6d73f4e
master 8679ef24ed64018bb62170c43ce73e0261c0600a

add-patch.c

52628f94 1224 fwrite(diff->buf, diff->len, 1, stderr);
d2a233cb 1520 _(s->mode->help_patch_text));

builtin/add.c

90a6bb98 450 parse_pathspec(&pathspec, 0,
90a6bb98 456 return run_add_interactive(NULL, "--patch=stash", &pathspec);

builtin/pack-objects.c

4f0bd8b9 1124 return 1;
4f0bd8b9 2681 (reuse_packfile_bitmap &&
4f0bd8b9 2682 bitmap_walk_contains(bitmap_git, reuse_packfile_bitmap, oid));
7cb9754e 2834 allow_pack_reuse = git_config_bool(k, v);
7cb9754e 2835 return 0;

builtin/pull.c

63add83b 374 return status;

builtin/rebase.c

4d861fad 725 write_file(state_dir_path("quiet", opts), "%s", "");

builtin/stash.c

6610e462 1026 setenv(INDEX_ENVIRONMENT, old_index_env, 1);

gpg-interface.c

63add83b 143 return 1;
63add83b 207 free(trust);
63add83b 208 goto error;
63add83b 397 return config_error_nonbool(var);

pack-bitmap.c

4f0bd8b9 808 return;
4f0bd8b9 811 return;
4f0bd8b9 823 return;
4f0bd8b9 861 i = bitmap_git->pack->num_objects / BITS_IN_EWORD;
7b143c16 903 return 0;

pretty.c

63add83b 1355 strbuf_addstr(sb, "never");
63add83b 1356 break;
63add83b 1358 strbuf_addstr(sb, "marginal");
63add83b 1359 break;
63add83b 1361 strbuf_addstr(sb, "fully");
63add83b 1362 break;

sequencer.c

7ee11336 2055 res = allow;
7ee11336 2056 goto leave;
7ee11336 2515 opts->drop_redundant_commits =
7ee11336 2516 git_config_bool_or_int(key, value, &error_flag);
7ee11336 2521 opts->ask_on_initially_empty =
7ee11336 2522 git_config_bool_or_int(key, value, &error_flag);
7ee11336 3066 res |= git_config_set_in_file_gently(opts_file,
7ee11336 3072 res |= git_config_set_in_file_gently(opts_file,
7ee11336 4786 continue;

Commits introducing uncovered code:

Elijah Newren 4d861fad rebase, sequencer: remove the broken GIT_QUIET handling
Elijah Newren 7ee11336 rebase: extend the options for handling of empty commits
Elijah Newren e8c1d7e0 rebase: make the backend configurable via config setting
Hans Jerry Illikainen 63add83b gpg-interface: add minTrustLevel as a configuration option
Jeff King 4f0bd8b9 pack-objects: improve partial packfile reuse
Jeff King 7cb9754e pack-objects: introduce pack.allowPackReuse
Jeff King 7b143c16 pack-bitmap: introduce bitmap_walk_contains()
Johannes Schindelin 52628f94 built-in add -p: implement the "checkout" patch modes
Johannes Schindelin d2a233cb built-in add -p: prepare for patch modes other than "stage"
Johannes Schindelin 90a6bb98 legacy stash -p: respect the add.interactive.usebuiltin setting
Johannes Schindelin 6610e462 built-in stash: use the built-in `git add -p` if so configured

Uncovered code in 'master' not in 'master@{1}'

master 8679ef24ed64018bb62170c43ce73e0261c0600a
master@{1} 0a76bd7381ec0dbb7c43776eb6d1ac906bca29e6

builtin/rebase.c

4fe7e43c 709 write_file(state_dir_path("signoff", opts), "--signoff");

Commits introducing uncovered code:

Elijah Newren 4fe7e43c rebase: fix saving of --signoff state for am-based rebases