pu 93d4f0420cd84db6ba06dfde81314c8c5f328842
jch 75b0f54c274253cd9cb3395f261a70f4238a3e9a
next 3f081b084b0e55662871946d66dab3696a46a22a
master 232378479ee6c66206d47a9be175e3a39682aea6
master@{1} 8679ef24ed64018bb62170c43ce73e0261c0600a

Uncovered code in 'pu' not in 'jch'

pu 93d4f0420cd84db6ba06dfde81314c8c5f328842
jch 75b0f54c274253cd9cb3395f261a70f4238a3e9a

builtin/commit.c

builtin/grep.c

builtin/rebase.c

186dbeed 629 } else if (!read_oneliner(&buf, state_dir_path("head", opts), 0, 1))
81f5bc1c 698 write_file(state_dir_path("quiet", opts), "%s", "");
06ebea5c 879 reset_head(the_repository, &opts->orig_head, "checkout",
06ebea5c 880 opts->head_name, 0,
e71223c6 1039 apply_autostash(state_dir_path("autostash", opts));

fsmonitor.c

8da2c576 36 if (hook_version == HOOK_INTERFACE_VERSION1 ||
8da2c576 37 hook_version == HOOK_INTERFACE_VERSION2)
8da2c576 38 return hook_version;
56c69100 62 timestamp = get_be64(index);
56c69100 63 strbuf_addf(&last_update, "%"PRIu64"", timestamp);
56c69100 64 index += sizeof(uint64_t);
8da2c576 199 strbuf_addf(&last_update_token, "%"PRIu64"", last_update);

packfile.c

31877c9a 1472 return;

protocol.c

read-cache.c

ee70c128 1761 if (advice_unknown_index_extension) {

rebase-interactive.c

remote-curl.c

6da1f1a9 354 return 0;

reset.c

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

sequencer.c

fa717471 436 goto done;
fa717471 442 goto done;
430b75f7 1472 return -1;
8ef6c12e 1539 return originally_empty;
91e0ed22 2534 opts->keep_redundant_commits = 1;
448bea61 5157 apply_autostash(rebase_path_autostash());

sha1-file.c

31877c9a 1431 return;
31877c9a 1440 return;

submodule.c

Commits introducing uncovered code:

Denton Liu 186dbeed rebase: use read_oneliner()
Denton Liu 06ebea5c rebase: generify reset_head()
Denton Liu e71223c6 rebase: use apply_autostash() from sequencer.c
Denton Liu 1e1ef305 sequencer: extract perform_autostash() from rebase
Denton Liu 448bea61 sequencer: make apply_rebase() accept a path
Denton Liu fa717471 sequencer: use file strbuf for read_oneliner()
Denton Liu b3137f2e reset: extract reset_head() from rebase
Elijah Newren 81f5bc1c rebase, sequencer: remove the broken GIT_QUIET handling
Elijah Newren 91e0ed22 rebase (interactive-backend): fix handling of commits that become empty
Elijah Newren 8f10f8a0 rebase: make the backend configurable via config setting
Elijah Newren 8ef6c12e rebase (interactive-backend): make --keep-empty the default
Emily Shaffer d1903342 grep: support the --pathspec-from-file option
Emily Shaffer 02225408 fetch: emphasize failure during submodule fetch
Johannes Schindelin 43590261 rebase -i: re-fix short SHA-1 collision
Jonathan Nieder ee70c128 index: offer advice for unknown index extensions
Josh Steadmon 6da1f1a9 protocol: advertise multiple supported versions
Junio C Hamano 76318f96 Merge branch 'js/rebase-i-with-colliding-hash' into pu
Kevin Willford 56c69100 fsmonitor: change last update timestamp on the index_state to opaque token
Kevin Willford 8da2c576 fsmonitor: handle version 2 of the hooks that will use opaque token
Matheus Tavares 31877c9a 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 75b0f54c274253cd9cb3395f261a70f4238a3e9a
next 3f081b084b0e55662871946d66dab3696a46a22a

add-patch.c

180f48df 557 else if (p != pend)
180f48df 559 goto mismatched_output;
180f48df 590 return -1;
04f816b1 1156 int res = read_key_without_echo(&s->answer);
04f816b1 1157 printf("%s\n", res == EOF ? "" : s->answer.buf);
04f816b1 1158 return res;
52628f94 1272 fwrite(diff->buf, diff->len, 1, stderr);
d2a233cb 1567 _(s->mode->help_patch_text));

builtin/add.c

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

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;

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

54887b46 374 return status;

builtin/stash.c

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

compat/terminal.c

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

gpg-interface.c

54887b46 143 return 1;
54887b46 207 free(trust);
54887b46 208 goto error;
54887b46 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

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

rebase-interactive.c

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

refs.c

submodule.c

a4ffbbbb 1161 fprintf(stderr, _("Unable to push submodule '%s'\n"), path);

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
Hans Jerry Illikainen 54887b46 gpg-interface: add minTrustLevel as a configuration option
Jeff King 7cb9754e pack-objects: introduce pack.allowPackReuse
Jeff King 7b143c16 pack-bitmap: introduce bitmap_walk_contains()
Jeff King 4f0bd8b9 pack-objects: improve partial packfile reuse
Johannes Schindelin e118f063 built-in add -p: handle Escape sequences in interactive.singlekey mode
Johannes Schindelin 12acdf57 built-in add -p: handle Escape sequences more efficiently
Johannes Schindelin a5e46e6b terminal: add a new function to read a single keystroke
Johannes Schindelin 94ac3c31 terminal: make the code of disable_echo() reusable
Johannes Schindelin 180f48df built-in add -p: support interactive.diffFilter
Johannes Schindelin 90a6bb98 legacy stash -p: respect the add.interactive.usebuiltin setting
Johannes Schindelin d2a233cb built-in add -p: prepare for patch modes other than "stage"
Johannes Schindelin 52628f94 built-in add -p: implement the "checkout" patch modes
Johannes Schindelin 04f816b1 built-in add -p: respect the `interactive.singlekey` config setting
Johannes Schindelin 6610e462 built-in stash: use the built-in `git add -p` if so configured
Martin Ågren 3bcdd852 builtin/config: extract `handle_value_regex()` from `get_value()`
Martin Ågren 3bf986d6 builtin/config: collect "value_regexp" data in a struct
Ralf Thielow a4ffbbbb submodule.c: mark more strings for translation

Uncovered code in 'next' not in 'master'

next 3f081b084b0e55662871946d66dab3696a46a22a
master 232378479ee6c66206d47a9be175e3a39682aea6

run-command.c

63ab08fb 216 int found = r != NULL;
63ab08fb 218 return found;

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));

unpack-trees.c

Commits introducing uncovered code:

brian m. carlson 63ab08fb run-command: avoid undefined behavior in exists_in_PATH
Emily Shaffer 573117df unpack-trees: watch for out-of-range index position
Jonathan Tan 9c8a294a sha1-file: remove OBJECT_INFO_SKIP_CACHED

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

master 232378479ee6c66206d47a9be175e3a39682aea6
master@{1} 8679ef24ed64018bb62170c43ce73e0261c0600a

Commits introducing uncovered code: