Here is the test coverage report for v2.29.0-rc0. I haven't sent a test-coverage report in a while due to some issues with the 'seen' branch timing out, and then I got out of the habit. Here is the uncovered code introduced in v2.29.0-rc0 that was edited since v2.28.0. Thanks, -Stolee [1] https://derrickstolee.github.io/git-test-coverage/reports/v2.29.0-rc0-commits.txt [2] https://derrickstolee.github.io/git-test-coverage/reports/v2.29.0-rc0.txt [3] https://derrickstolee.github.io/git-test-coverage/reports/v2.29.0-rc0.htm --- Uncovered code in 'v2.29.0-rc0' not in 'v2.28.0' -------------------------------------------------------- Commits introducing uncovered code: Aaron Lipman be5fe200 cmd_bisect__helper: defer parsing no-checkout flag builtin/bisect--helper.c be5fe200 906) res = bisect_next_all(the_repository, prefix); Ævar Arnfjörð Bjarmason 6a83d902 coccinelle: make use of the "type" FREE_AND_NULL() rule builtin/fast-import.c 6a83d902 995) FREE_AND_NULL(delta); Brandon Williams debca9d2 object: rename function 'typename' to 'type_name' builtin/fast-import.c debca9d2 2500) type_name(oe->type), command_buf.buf); brian m. carlson d7e6b6a8 fast-import: convert internal structs to struct object_id builtin/fast-import.c d7e6b6a8 892) fprintf(pack_edges, " %s", d7e6b6a8 893) oid_to_hex(&t->oid)); d7e6b6a8 2639) oidcpy(&n->oid, &s->oid); brian m. carlson ddddf8d7 fast-import: permit reading multiple marks files builtin/fast-import.c ddddf8d7 1145) insert_mark(marks, mark, e); brian m. carlson 912c13d5 fast-import: convert to struct object_id builtin/fast-import.c 912c13d5 2471) oidcpy(&commit_oid, &s->oid); 912c13d5 2646) } else if (!get_oid(from, &n->oid)) { 912c13d5 2811) oidcpy(&oid, &s->oid); 912c13d5 2939) strbuf_addf(&line, "%s missing\n", oid_to_hex(oid)); 912c13d5 3045) get_oid_hex(buf + strlen("object "), oid)) brian m. carlson 1bdca816 fast-import: add options for rewriting submodules builtin/fast-import.c 1bdca816 2193) return -1; 1bdca816 3068) return; 1bdca816 3328) die_errno("cannot read '%s'", f); brian m. carlson cd85b447 remote-curl: make --force-with-lease work with non-ASCII ref names remote-curl.c cd85b447 130) return -1; brian m. carlson e6a492b7 pack: convert struct pack_idx_entry to struct object_id builtin/fast-import.c e6a492b7 3103) oidcpy(&oid, &e->idx.oid); brian m. carlson 28d055bd fast-import: make hash-size independent builtin/fast-import.c 28d055bd 986) && (pack_size + PACK_SIZE_THRESHOLD + s.total_out) > max_packsize) 28d055bd 1083) && (pack_size + PACK_SIZE_THRESHOLD + len) > max_packsize) 28d055bd 2652) if (!buf || size < the_hash_algo->hexsz + 6) 28d055bd 3044) if (size < hexsz + strlen("object ") || Clemens Buchacher 98c2924c credentials: unable to connect to cache daemon builtin/credential-cache.c 98c2924c 79) die_errno("unable to connect to cache daemon"); David Barr 8dc6a373 fast-import: add 'ls' command builtin/fast-import.c 8dc6a373 3033) buf = gfi_unpack_entry(oe, &size); 8dc6a373 3047) break; 8dc6a373 3101) if (!e) David Barr 85c62395 fast-import: let importers retrieve blobs builtin/fast-import.c 85c62395 2917) die_errno("Write to frontend failed"); 85c62395 2938) strbuf_reset(&line); 85c62395 2940) cat_blob_write(line.buf, line.len); 85c62395 2941) strbuf_release(&line); 85c62395 2942) free(buf); 85c62395 2943) return; Derrick Stolee 663b2b1b maintenance: add commit-graph task builtin/gc.c 663b2b1b 813) return 1; Derrick Stolee 3103e984 maintenance: initialize task array builtin/gc.c 3103e984 933) result = 1; Derrick Stolee d7514f6e maintenance: take a lock on the objects directory builtin/gc.c d7514f6e 904) if (!opts->auto_flag && !opts->quiet) d7514f6e 907) free(lock_path); d7514f6e 908) return 0; Derrick Stolee 4ddc79b2 maintenance: add auto condition for commit-graph task builtin/gc.c 4ddc79b2 722) static int dfs_on_ref(const char *refname, 4ddc79b2 726) struct cg_auto_data *data = (struct cg_auto_data *)cb_data; 4ddc79b2 727) int result = 0; 4ddc79b2 729) struct commit_list *stack = NULL; 4ddc79b2 732) if (!peel_ref(refname, &peeled)) 4ddc79b2 733) oid = &peeled; 4ddc79b2 734) if (oid_object_info(the_repository, oid, NULL) != OBJ_COMMIT) 4ddc79b2 735) return 0; 4ddc79b2 737) commit = lookup_commit(the_repository, oid); 4ddc79b2 738) if (!commit) 4ddc79b2 739) return 0; 4ddc79b2 740) if (parse_commit(commit)) 4ddc79b2 741) return 0; 4ddc79b2 743) commit_list_append(commit, &stack); 4ddc79b2 745) while (!result && stack) { 4ddc79b2 748) commit = pop_commit(&stack); 4ddc79b2 750) for (parent = commit->parents; parent; parent = parent->next) { 4ddc79b2 751) if (parse_commit(parent->item) || 4ddc79b2 752) commit_graph_position(parent->item) != COMMIT_NOT_FROM_GRAPH || 4ddc79b2 753) parent->item->object.flags & SEEN) 4ddc79b2 754) continue; 4ddc79b2 756) parent->item->object.flags |= SEEN; 4ddc79b2 757) data->num_not_in_graph++; 4ddc79b2 759) if (data->num_not_in_graph >= data->limit) { 4ddc79b2 760) result = 1; 4ddc79b2 761) break; 4ddc79b2 764) commit_list_append(parent->item, &stack); 4ddc79b2 768) free_commit_list(stack); 4ddc79b2 769) return result; 4ddc79b2 772) static int should_write_commit_graph(void) 4ddc79b2 777) data.num_not_in_graph = 0; 4ddc79b2 778) data.limit = 100; 4ddc79b2 779) git_config_get_int("maintenance.commit-graph.auto", 4ddc79b2 782) if (!data.limit) 4ddc79b2 783) return 0; 4ddc79b2 784) if (data.limit < 0) 4ddc79b2 785) return 1; 4ddc79b2 787) result = for_each_ref(dfs_on_ref, &data); 4ddc79b2 789) clear_commit_marks_all(SEEN); 4ddc79b2 791) return result; Dmitry Ivankov 4b4963c0 fast-import: check committer name more strictly builtin/fast-import.c 4b4963c0 1975) if (strcmp("now", ltgt)) Dmitry Potapov 8db751a8 fast-import: tag may point to any object type builtin/fast-import.c 8db751a8 2812) type = OBJ_COMMIT; Elijah Newren 3164e6bd fast-import: fix handling of deleted tags builtin/fast-import.c 3164e6bd 2904) first_tag = t->next_tag; Elijah Newren 44c7e1a7 mem-pool: use more standard initialization and finalization read-cache.c 44c7e1a7 2076) istate->ce_mem_pool = xmalloc(sizeof(*istate->ce_mem_pool)); 44c7e1a7 2077) mem_pool_init(istate->ce_mem_pool, 0); 44c7e1a7 2106) mem_pool_init(p->ce_mem_pool, 44c7e1a7 2109) mem_pool_init(p->ce_mem_pool, Elijah Newren b8f50e5b fast-import: add support for new 'alias' command builtin/fast-import.c b8f50e5b 2623) return 0; Elijah Newren a762c8c1 mem-pool: add convenience functions for strdup and strndup mem-pool.c a762c8c1 108) char *mem_pool_strndup(struct mem_pool *pool, const char *str, size_t len) a762c8c1 110) char *p = memchr(str, '\0', len); a762c8c1 111) size_t actual_len = (p ? p - str : len); a762c8c1 112) char *ret = mem_pool_alloc(pool, actual_len+1); a762c8c1 114) ret[actual_len] = '\0'; a762c8c1 115) return memcpy(ret, str, actual_len); Elijah Newren f87bf284 mem-pool: use consistent pool variable name mem-pool.c f87bf284 118) int mem_pool_contains(struct mem_pool *pool, void *mem) f87bf284 123) for (p = pool->mp_block; p; p = p->next_block) Elijah Newren 253fb5f8 fast-import: Improve robustness when D->F changes provided in wrong order builtin/fast-import.c 253fb5f8 1513) return 1; Elijah Newren 7ffde293 fast-import: only allow cat-blob requests where it makes sense builtin/fast-import.c 7ffde293 2329) parse_cat_blob(v); Emily Shaffer 1411914a bugreport: add uname info builtin/bugreport.c 1411914a 21) strbuf_addf(sys_info, _("uname() failed with error '%s' (%d)\n"), 1411914a 23) errno); Eric Sunshine b214ab5a worktree: teach "repair" to fix outgoing links to worktrees worktree.c b214ab5a 663) fn = repair_noop; Eric Sunshine 59d876cc init: make --separate-git-dir work from within linked worktree builtin/init-db.c 59d876cc 664) die_errno(_("cannot chdir to %s"), mainwt.buf); Eric Sunshine 07a7f8de format-patch: use 'origin' as start of current-series-range when known builtin/log.c 07a7f8de 1689) else if (prev_is_range) Eric Wong d9545c7f fast-import: implement unpack limit builtin/fast-import.c d9545c7f 827) die_errno("Failed seeking to start of '%s'", p->pack_name); d9545c7f 3465) unpack_limit = limit; Han-Wen Nienhuys 4441f427 refs: add GIT_TRACE_REFS debugging mechanism refs/debug.c 4441f427 22) res = xmalloc(sizeof(struct debug_ref_store)); 4441f427 23) be_copy = xmalloc(sizeof(*be_copy)); 4441f427 24) *be_copy = refs_be_debug; 4441f427 26) be_copy->name = store->be->name; 4441f427 27) trace_printf_key(&trace_refs, "ref_store for %s\n", gitdir); 4441f427 28) res->refs = store; 4441f427 29) base_ref_store_init((struct ref_store *)res, be_copy); 4441f427 30) return (struct ref_store *)res; 4441f427 33) static int debug_init_db(struct ref_store *refs, struct strbuf *err) 4441f427 35) struct debug_ref_store *drefs = (struct debug_ref_store *)refs; 4441f427 36) int res = drefs->refs->be->init_db(drefs->refs, err); 4441f427 37) trace_printf_key(&trace_refs, "init_db: %d\n", res); 4441f427 38) return res; 4441f427 41) static int debug_transaction_prepare(struct ref_store *refs, 4441f427 45) struct debug_ref_store *drefs = (struct debug_ref_store *)refs; 4441f427 47) transaction->ref_store = drefs->refs; 4441f427 48) res = drefs->refs->be->transaction_prepare(drefs->refs, transaction, 4441f427 50) trace_printf_key(&trace_refs, "transaction_prepare: %d\n", res); 4441f427 51) return res; 4441f427 54) static void print_update(int i, const char *refname, 4441f427 59) char o[GIT_MAX_HEXSZ + 1] = "null"; 4441f427 60) char n[GIT_MAX_HEXSZ + 1] = "null"; 4441f427 61) if (old_oid) 4441f427 62) oid_to_hex_r(o, old_oid); 4441f427 63) if (new_oid) 4441f427 64) oid_to_hex_r(n, new_oid); 4441f427 66) type &= 0xf; /* see refs.h REF_* */ 4441f427 67) flags &= REF_HAVE_NEW | REF_HAVE_OLD | REF_NO_DEREF | 4441f427 69) trace_printf_key(&trace_refs, "%d: %s %s -> %s (F=0x%x, T=0x%x) \"%s\"\n", i, refname, 4441f427 71) } 4441f427 73) static void print_transaction(struct ref_transaction *transaction) 4441f427 76) trace_printf_key(&trace_refs, "transaction {\n"); 4441f427 77) for (i = 0; i < transaction->nr; i++) { 4441f427 78) struct ref_update *u = transaction->updates[i]; 4441f427 79) print_update(i, u->refname, &u->old_oid, &u->new_oid, u->flags, 4441f427 80) u->type, u->msg); 4441f427 82) trace_printf_key(&trace_refs, "}\n"); 4441f427 83) } 4441f427 85) static int debug_transaction_finish(struct ref_store *refs, 4441f427 89) struct debug_ref_store *drefs = (struct debug_ref_store *)refs; 4441f427 91) transaction->ref_store = drefs->refs; 4441f427 92) res = drefs->refs->be->transaction_finish(drefs->refs, transaction, 4441f427 94) print_transaction(transaction); 4441f427 95) trace_printf_key(&trace_refs, "finish: %d\n", res); 4441f427 96) return res; 4441f427 99) static int debug_transaction_abort(struct ref_store *refs, 4441f427 103) struct debug_ref_store *drefs = (struct debug_ref_store *)refs; 4441f427 105) transaction->ref_store = drefs->refs; 4441f427 106) res = drefs->refs->be->transaction_abort(drefs->refs, transaction, err); 4441f427 107) return res; 4441f427 110) static int debug_initial_transaction_commit(struct ref_store *refs, 4441f427 114) struct debug_ref_store *drefs = (struct debug_ref_store *)refs; 4441f427 116) transaction->ref_store = drefs->refs; 4441f427 117) res = drefs->refs->be->initial_transaction_commit(drefs->refs, 4441f427 119) return res; 4441f427 122) static int debug_pack_refs(struct ref_store *ref_store, unsigned int flags) 4441f427 124) struct debug_ref_store *drefs = (struct debug_ref_store *)ref_store; 4441f427 125) int res = drefs->refs->be->pack_refs(drefs->refs, flags); 4441f427 126) trace_printf_key(&trace_refs, "pack_refs: %d\n", res); 4441f427 127) return res; 4441f427 130) static int debug_create_symref(struct ref_store *ref_store, 4441f427 134) struct debug_ref_store *drefs = (struct debug_ref_store *)ref_store; 4441f427 135) int res = drefs->refs->be->create_symref(drefs->refs, ref_name, target, 4441f427 137) trace_printf_key(&trace_refs, "create_symref: %s -> %s \"%s\": %d\n", ref_name, 4441f427 139) return res; 4441f427 142) static int debug_delete_refs(struct ref_store *ref_store, const char *msg, 4441f427 145) struct debug_ref_store *drefs = (struct debug_ref_store *)ref_store; 4441f427 146) int res = 4441f427 147) drefs->refs->be->delete_refs(drefs->refs, msg, refnames, flags); 4441f427 149) trace_printf_key(&trace_refs, "delete_refs {\n"); 4441f427 150) for (i = 0; i < refnames->nr; i++) 4441f427 151) trace_printf_key(&trace_refs, "%s\n", refnames->items[i].string); 4441f427 152) trace_printf_key(&trace_refs, "}: %d\n", res); 4441f427 153) return res; 4441f427 156) static int debug_rename_ref(struct ref_store *ref_store, const char *oldref, 4441f427 159) struct debug_ref_store *drefs = (struct debug_ref_store *)ref_store; 4441f427 160) int res = drefs->refs->be->rename_ref(drefs->refs, oldref, newref, 4441f427 162) trace_printf_key(&trace_refs, "rename_ref: %s -> %s \"%s\": %d\n", oldref, newref, 4441f427 164) return res; 4441f427 167) static int debug_copy_ref(struct ref_store *ref_store, const char *oldref, 4441f427 170) struct debug_ref_store *drefs = (struct debug_ref_store *)ref_store; 4441f427 171) int res = 4441f427 172) drefs->refs->be->copy_ref(drefs->refs, oldref, newref, logmsg); 4441f427 173) trace_printf_key(&trace_refs, "copy_ref: %s -> %s \"%s\": %d\n", oldref, newref, 4441f427 175) return res; 4441f427 183) static int debug_ref_iterator_advance(struct ref_iterator *ref_iterator) 4441f427 185) struct debug_ref_iterator *diter = 4441f427 187) int res = diter->iter->vtable->advance(diter->iter); 4441f427 188) if (res) 4441f427 189) trace_printf_key(&trace_refs, "iterator_advance: (%d)\n", res); 4441f427 191) trace_printf_key(&trace_refs, "iterator_advance: %s (0)\n", 4441f427 194) diter->base.ordered = diter->iter->ordered; 4441f427 195) diter->base.refname = diter->iter->refname; 4441f427 196) diter->base.oid = diter->iter->oid; 4441f427 197) diter->base.flags = diter->iter->flags; 4441f427 198) return res; 4441f427 201) static int debug_ref_iterator_peel(struct ref_iterator *ref_iterator, 4441f427 204) struct debug_ref_iterator *diter = 4441f427 206) int res = diter->iter->vtable->peel(diter->iter, peeled); 4441f427 207) trace_printf_key(&trace_refs, "iterator_peel: %s: %d\n", diter->iter->refname, res); 4441f427 208) return res; 4441f427 211) static int debug_ref_iterator_abort(struct ref_iterator *ref_iterator) 4441f427 213) struct debug_ref_iterator *diter = 4441f427 215) int res = diter->iter->vtable->abort(diter->iter); 4441f427 216) trace_printf_key(&trace_refs, "iterator_abort: %d\n", res); 4441f427 217) return res; 4441f427 226) debug_ref_iterator_begin(struct ref_store *ref_store, const char *prefix, 4441f427 229) struct debug_ref_store *drefs = (struct debug_ref_store *)ref_store; 4441f427 230) struct ref_iterator *res = 4441f427 231) drefs->refs->be->iterator_begin(drefs->refs, prefix, flags); 4441f427 232) struct debug_ref_iterator *diter = xcalloc(1, sizeof(*diter)); 4441f427 233) base_ref_iterator_init(&diter->base, &debug_ref_iterator_vtable, 1); 4441f427 234) diter->iter = res; 4441f427 235) trace_printf_key(&trace_refs, "ref_iterator_begin: %s (0x%x)\n", prefix, flags); 4441f427 236) return &diter->base; 4441f427 239) static int debug_read_raw_ref(struct ref_store *ref_store, const char *refname, 4441f427 243) struct debug_ref_store *drefs = (struct debug_ref_store *)ref_store; 4441f427 244) int res = 0; 4441f427 246) oidcpy(oid, &null_oid); 4441f427 247) res = drefs->refs->be->read_raw_ref(drefs->refs, refname, oid, referent, 4441f427 250) if (res == 0) { 4441f427 251) trace_printf_key(&trace_refs, "read_raw_ref: %s: %s (=> %s) type %x: %d\n", 4441f427 254) trace_printf_key(&trace_refs, "read_raw_ref: %s: %d\n", refname, res); 4441f427 256) return res; 4441f427 260) debug_reflog_iterator_begin(struct ref_store *ref_store) 4441f427 262) struct debug_ref_store *drefs = (struct debug_ref_store *)ref_store; 4441f427 263) struct ref_iterator *res = 4441f427 264) drefs->refs->be->reflog_iterator_begin(drefs->refs); 4441f427 265) trace_printf_key(&trace_refs, "for_each_reflog_iterator_begin\n"); 4441f427 266) return res; 4441f427 275) static int debug_print_reflog_ent(struct object_id *old_oid, 4441f427 280) struct debug_reflog *dbg = (struct debug_reflog *)cb_data; 4441f427 282) char o[GIT_MAX_HEXSZ + 1] = "null"; 4441f427 283) char n[GIT_MAX_HEXSZ + 1] = "null"; 4441f427 284) if (old_oid) 4441f427 285) oid_to_hex_r(o, old_oid); 4441f427 286) if (new_oid) 4441f427 287) oid_to_hex_r(n, new_oid); 4441f427 289) ret = dbg->fn(old_oid, new_oid, committer, timestamp, tz, msg, 4441f427 291) trace_printf_key(&trace_refs, "reflog_ent %s (ret %d): %s -> %s, %s %ld \"%s\"\n", 4441f427 293) return ret; 4441f427 296) static int debug_for_each_reflog_ent(struct ref_store *ref_store, 4441f427 300) struct debug_ref_store *drefs = (struct debug_ref_store *)ref_store; 4441f427 301) struct debug_reflog dbg = { 4441f427 307) int res = drefs->refs->be->for_each_reflog_ent( 4441f427 309) trace_printf_key(&trace_refs, "for_each_reflog: %s: %d\n", refname, res); 4441f427 310) return res; 4441f427 313) static int debug_for_each_reflog_ent_reverse(struct ref_store *ref_store, 4441f427 318) struct debug_ref_store *drefs = (struct debug_ref_store *)ref_store; 4441f427 319) struct debug_reflog dbg = { 4441f427 324) int res = drefs->refs->be->for_each_reflog_ent_reverse( 4441f427 326) trace_printf_key(&trace_refs, "for_each_reflog_reverse: %s: %d\n", refname, res); 4441f427 327) return res; 4441f427 330) static int debug_reflog_exists(struct ref_store *ref_store, const char *refname) 4441f427 332) struct debug_ref_store *drefs = (struct debug_ref_store *)ref_store; 4441f427 333) int res = drefs->refs->be->reflog_exists(drefs->refs, refname); 4441f427 334) trace_printf_key(&trace_refs, "reflog_exists: %s: %d\n", refname, res); 4441f427 335) return res; 4441f427 338) static int debug_create_reflog(struct ref_store *ref_store, const char *refname, 4441f427 341) struct debug_ref_store *drefs = (struct debug_ref_store *)ref_store; 4441f427 342) int res = drefs->refs->be->create_reflog(drefs->refs, refname, 4441f427 344) trace_printf_key(&trace_refs, "create_reflog: %s: %d\n", refname, res); 4441f427 345) return res; 4441f427 348) static int debug_delete_reflog(struct ref_store *ref_store, const char *refname) 4441f427 350) struct debug_ref_store *drefs = (struct debug_ref_store *)ref_store; 4441f427 351) int res = drefs->refs->be->delete_reflog(drefs->refs, refname); 4441f427 352) trace_printf_key(&trace_refs, "delete_reflog: %s: %d\n", refname, res); 4441f427 353) return res; 4441f427 356) static int debug_reflog_expire(struct ref_store *ref_store, const char *refname, 4441f427 363) struct debug_ref_store *drefs = (struct debug_ref_store *)ref_store; 4441f427 364) int res = drefs->refs->be->reflog_expire(drefs->refs, refname, oid, 4441f427 368) trace_printf_key(&trace_refs, "reflog_expire: %s: %d\n", refname, res); 4441f427 369) return res; Hariom Verma b82445dc ref-filter: support different email formats ref-filter.c b82445dc 398) return strbuf_addf_ret(err, -1, _("unrecognized email option: %s"), arg); b82445dc 1087) eoemail = strchr(email, '>'); Hariom Verma e7601eb5 ref-filter: modify error messages in `grab_objectname()` ref-filter.c e7601eb5 384) return strbuf_addf_ret(err, -1, _("unrecognized argument '%s' in %%(%s)"), arg, atom->name); Hariom Verma 2c22e102 ref-filter: 'contents:trailers' show error if `:` is missing ref-filter.c 2c22e102 356) return -1; Hariom Verma 905f0a4e ref-filter: add `sanitize` option for 'subject' atom ref-filter.c 905f0a4e 309) return strbuf_addf_ret(err, -1, _("unrecognized %%(subject) argument: %s"), arg); Hariom Verma 47d4676a pretty: refactor `format_sanitized_subject()` pretty.c 47d4676a 857) i++; Hariom Verma 26bc0aaf ref-filter: add `short` modifier to 'parent' atom ref-filter.c 26bc0aaf 1023) struct object_id *oid = &parents->item->object.oid; 26bc0aaf 1026) strbuf_addstr(&s, do_grab_oid("parent", oid, &used_atom[i])); Jacob Keller 7efba5fa format-patch: teach format.useAutoBase "whenAble" option builtin/log.c 7efba5fa 1505) if (die_on_failure) 7efba5fa 1524) if (die_on_failure) 7efba5fa 1529) return NULL; 7efba5fa 1547) if (die_on_failure) { 7efba5fa 1550) free(rev); 7efba5fa 1551) return NULL; 7efba5fa 1567) free(rev); 7efba5fa 1568) return NULL; 7efba5fa 1577) free(rev); 7efba5fa 1578) return NULL; Jacob Keller c0192df6 refspec: add support for negative refspecs refspec.c c0192df6 45) return 0; c0192df6 87) return 0; /* negative refspecs must not be empty */ c0192df6 93) return 0; remote.c c0192df6 812) return -1; Jeff King f5e3c0b9 credential-cache: close stderr in daemon process builtin/credential-cache--daemon.c f5e3c0b9 216) die_errno("unable to point stderr to /dev/null"); Jeff King d8410a81 fast-import: replace custom hash with hashmap.c builtin/fast-import.c d8410a81 60) e2 = container_of(entry_or_key, const struct object_entry, ent); d8410a81 61) return oidcmp(&e1->idx.oid, &e2->idx.oid); Jeff King c33ddc2e date: use strbufs in date-formatting functions builtin/fast-import.c c33ddc2e 1977) datestamp(&ident); Jeff King 22f9b7f3 strvec: convert builtin/ callers away from argv_array name builtin/am.c 22f9b7f3 1697) strvec_push(&cp.args, am_path(state, "patch")); builtin/bisect--helper.c 22f9b7f3 228) strvec_clear(&argv); builtin/bundle.c 22f9b7f3 89) strvec_push(&pack_opts, "--progress"); 22f9b7f3 91) strvec_push(&pack_opts, "--all-progress"); 22f9b7f3 93) strvec_push(&pack_opts, "--all-progress-implied"); builtin/clone.c 22f9b7f3 832) strvec_push(&args, "--progress"); builtin/describe.c 22f9b7f3 604) strvec_push(&args, "--always"); builtin/fetch.c 22f9b7f3 1562) strvec_push(argv, "-v"); builtin/gc.c 22f9b7f3 580) strvec_push(&repack, "-f"); 22f9b7f3 582) strvec_pushf(&repack, "--depth=%d", aggressive_depth); 22f9b7f3 584) strvec_pushf(&repack, "--window=%d", aggressive_window); builtin/pull.c 22f9b7f3 534) strvec_push(&args, opt_progress); 22f9b7f3 540) strvec_push(&args, opt_append); 22f9b7f3 542) strvec_push(&args, opt_upload_pack); 22f9b7f3 547) strvec_push(&args, opt_prune); 22f9b7f3 557) strvec_push(&args, "--recurse-submodules=on-demand"); 22f9b7f3 563) strvec_push(&args, max_children); 22f9b7f3 567) strvec_push(&args, opt_keep); 22f9b7f3 571) strvec_push(&args, opt_unshallow); 22f9b7f3 573) strvec_push(&args, opt_update_shallow); 22f9b7f3 575) strvec_push(&args, opt_refmap); 22f9b7f3 577) strvec_push(&args, opt_ipv4); 22f9b7f3 579) strvec_push(&args, opt_ipv6); 22f9b7f3 581) strvec_push(&args, "--show-forced-updates"); 22f9b7f3 583) strvec_push(&args, "--no-show-forced-updates"); 22f9b7f3 672) strvec_push(&args, opt_progress); 22f9b7f3 676) strvec_push(&args, opt_diffstat); 22f9b7f3 682) strvec_push(&args, opt_squash); 22f9b7f3 684) strvec_push(&args, opt_commit); 22f9b7f3 686) strvec_push(&args, opt_edit); 22f9b7f3 688) strvec_pushf(&args, "--cleanup=%s", cleanup_arg); 22f9b7f3 696) strvec_push(&args, opt_gpg_sign); 22f9b7f3 877) strvec_push(&args, "--rebase-merges"); 22f9b7f3 883) strvec_push(&args, opt_diffstat); 22f9b7f3 887) strvec_push(&args, opt_gpg_sign); 22f9b7f3 889) strvec_push(&args, "--no-autostash"); builtin/rebase.c 22f9b7f3 826) strvec_push(&am.args, opts->gpg_sign_opt); 22f9b7f3 861) strvec_clear(&am.args); 22f9b7f3 872) strvec_split(&format_patch.args, 22f9b7f3 883) strvec_clear(&am.args); 22f9b7f3 905) strvec_clear(&am.args); 22f9b7f3 914) strvec_push(&am.args, "--rerere-autoupdate"); 22f9b7f3 916) strvec_push(&am.args, "--no-rerere-autoupdate"); 22f9b7f3 918) strvec_push(&am.args, opts->gpg_sign_opt); builtin/receive-pack.c 22f9b7f3 782) strvec_pushf(&proc->env_array, 22f9b7f3 826) strvec_pushf(&proc.env_array, "GIT_PUSH_OPTION_COUNT"); 22f9b7f3 2202) strvec_push(&child.args, "--show-resolving-progress"); builtin/remote.c 22f9b7f3 1467) strvec_push(&fetch_argv, "-v"); builtin/repack.c 22f9b7f3 162) strvec_pushf(&cmd->args, "--window=%s", args->window); 22f9b7f3 164) strvec_pushf(&cmd->args, "--window-memory=%s", args->window_memory); 22f9b7f3 166) strvec_pushf(&cmd->args, "--depth=%s", args->depth); 22f9b7f3 168) strvec_pushf(&cmd->args, "--threads=%s", args->threads); 22f9b7f3 170) strvec_pushf(&cmd->args, "--max-pack-size=%s", args->max_pack_size); 22f9b7f3 174) strvec_pushf(&cmd->args, "--no-reuse-object"); builtin/replace.c 22f9b7f3 234) strvec_push(&cmd.args, type_name(type)); builtin/submodule--helper.c 22f9b7f3 859) strvec_push(&cpr.args, "--quiet"); 22f9b7f3 1454) strvec_push(&cpr.args, "--quiet"); 22f9b7f3 2147) strvec_push(&child->args, "--progress"); 22f9b7f3 2151) strvec_pushl(&child->args, "--prefix", suc->prefix, NULL); builtin/worktree.c 22f9b7f3 626) strvec_push(&cp.args, "--quiet"); Jeff King 47beb37b shortlog: match commit trailers with --group builtin/shortlog.c 47beb37b 243) return; Jeff King fe4a0a28 argv-array: add pop function strvec.c fe4a0a28 63) return; Jeff King f17b0b99 shortlog: de-duplicate trailer values builtin/shortlog.c f17b0b99 194) b = container_of(entry_or_key, const struct strset_item, ent); f17b0b99 195) return strcmp(a->value, b->value); Jeff King 63d24fa0 shortlog: allow multiple groups to be specified builtin/shortlog.c 63d24fa0 303) !strset_check_and_add(&dups, ident.buf)) Jeff King 01968302 fast-import: delay creating leading directories for export-marks builtin/fast-import.c 01968302 1692) failure |= error_errno("unable to create leading directories of %s", 01968302 1694) return; Jeff King ec91ffca verify_repository_format(): complain about new extensions in v0 repo setup.c ec91ffca 472) return config_error_nonbool(var); ec91ffca 517) return -1; ec91ffca 526) return -1; Jeff King fcd12db6 prefer git_pathdup to git_path in some possibly-dangerous cases builtin/fast-import.c fcd12db6 321) free(loc); Jeff King d70a9eb6 strvec: rename struct fields daemon.c d70a9eb6 495) strvec_pushv(&cld.env_array, env->v); run-command.c d70a9eb6 852) execve(argv.v[0], (char *const *) argv.v, t/helper/test-run-command.c d70a9eb6 251) arg_offset = args.nr; d70a9eb6 278) cp.argv = args.v; d70a9eb6 284) const char *arg = args.v[j + arg_offset]; d70a9eb6 301) (int)j, args.v[j + arg_offset]); Jeff King 8d2aa8df assert PARSE_OPT_NONEG in parse-options callbacks parse-options-cb.c 8d2aa8df 108) BUG_ON_OPT_NEG(unset); Jeff King b992657e argv-array: add detach function strvec.c b992657e 103) return xcalloc(1, sizeof(const char *)); Jeff King 3c078b9c fast-import: clean up pack_data pointer in end_packfile builtin/fast-import.c 3c078b9c 844) return; Jeff King ef8d7ac4 strvec: convert more callers away from argv_array name column.c ef8d7ac4 372) strvec_pushf(argv, "--width=%d", opts->width); ef8d7ac4 374) strvec_pushf(argv, "--indent=%s", opts->indent); compat/terminal.c ef8d7ac4 276) strvec_pushl(&cp.args, "infocmp", "-L", "-1", NULL); connect.c ef8d7ac4 1236) strvec_push(args, "-6"); daemon.c ef8d7ac4 490) static int upload_archive(const struct strvec *env) ef8d7ac4 493) strvec_push(&cld.args, "upload-archive"); ef8d7ac4 803) strvec_clear(&env); ef8d7ac4 924) strvec_pushf(&cld.env_array, "REMOTE_ADDR=[%s]", buf); ef8d7ac4 925) strvec_pushf(&cld.env_array, "REMOTE_PORT=%d", exec-cmd.c ef8d7ac4 342) strvec_clear(&nargv); imap-send.c ef8d7ac4 979) strvec_push(&tunnel.args, srvc->tunnel); Jeff King 957876f1 combine-diff: handle --find-object in multitree code path combine-diff.c 957876f1 1464) return 0; 957876f1 1482) free(p); Jeff King e2770979 credentials: add "cache" helper builtin/credential-cache--daemon.c e2770979 89) return 0; e2770979 113) return -1; e2770979 169) return 0; e2770979 174) if (errno != EINTR) e2770979 175) die_errno("poll failed"); e2770979 176) return 1; e2770979 186) return 1; e2770979 191) close(client); e2770979 192) return 1; e2770979 210) die_errno("unable to bind to '%s'", socket_path); e2770979 222) close(fd); e2770979 223) } e2770979 299) return 0; builtin/credential-cache.c e2770979 23) die_errno("unable to write to cache daemon"); e2770979 34) die_errno("read error from cache daemon"); e2770979 56) die_errno("unable to start cache daemon"); e2770979 59) die_errno("unable to read result code from cache daemon"); e2770979 74) die_errno("unable to relay credential"); Jeff King 6479ea4a xrealloc: do not reuse pointer freed by zero-length realloc() wrapper.c 6479ea4a 121) free(ptr); 6479ea4a 122) return xmalloc(0); Jeff King f0939a0e trailer: add interface for iterating over commit trailers trailer.c f0939a0e 1204) continue; /* not a real trailer */ Jeff King ae021d87 use skip_prefix to avoid magic numbers builtin/fast-import.c ae021d87 3337) if (!git_parse_ulong(option, &v)) Jeff King 8ec6c8d7 credential-cache: report more daemon connection errors builtin/credential-cache.c 8ec6c8d7 83) die_errno("unable to connect to cache daemon"); Jeff King 71e1b4b6 credentials: add "store" helper builtin/credential-store.c 71e1b4b6 22) die_errno("unable to open %s", fn); 71e1b4b6 62) die_errno("unable to get credential storage lock"); Jeff King c972bf4c strvec: convert remaining callers away from argv_array name midx.c c972bf4c 1441) strvec_push(&cmd.args, "--delta-islands"); pager.c c972bf4c 71) static void setup_pager_env(struct strvec *env) c972bf4c 91) strvec_push(env, argv[i]); c972bf4c 100) strvec_push(&pager_process->args, pager); c972bf4c 129) strvec_push(&pager_process.env_array, "GIT_PAGER_IN_USE"); remote-curl.c c972bf4c 1157) strvec_pushl(&args, "-v", "-v", NULL); c972bf4c 1163) strvec_push(&args, "--update-shallow"); c972bf4c 1169) strvec_pushf(&args, "--shallow-since=%s", options.deepen_since); c972bf4c 1171) strvec_pushf(&args, "--shallow-exclude=%s", c972bf4c 1174) strvec_push(&args, "--deepen-relative"); c972bf4c 1176) strvec_push(&args, "--from-promisor"); c972bf4c 1178) strvec_pushf(&args, "--filter=%s", options.filter); c972bf4c 1274) strvec_push(&child.args, "--dry-run"); c972bf4c 1302) strvec_push(&args, "--dry-run"); c972bf4c 1306) strvec_push(&args, "--signed=if-asked"); c972bf4c 1310) strvec_push(&args, "--quiet"); sequencer.c c972bf4c 3680) strvec_push(&cmd.args, opts->gpg_sign); submodule.c c972bf4c 690) strvec_pushf(&cp.args, "--src-prefix=%s%s/", c972bf4c 692) strvec_pushf(&cp.args, "--dst-prefix=%s%s/", c972bf4c 1790) strvec_push(&cp.args, "-uno"); c972bf4c 1795) strvec_push(&cp.args, "--ignored"); t/helper/test-run-command.c c972bf4c 75) strvec_pushl(&cp->args, "sh", test, NULL); c972bf4c 77) strvec_push(&cp->args, "--quiet"); c972bf4c 79) strvec_push(&cp->args, "-i"); c972bf4c 81) strvec_push(&cp->args, "-v"); c972bf4c 83) strvec_push(&cp->args, "-V"); c972bf4c 85) strvec_push(&cp->args, "-x"); c972bf4c 87) strvec_push(&cp->args, "--write-junit-xml"); c972bf4c 223) struct strvec args = STRVEC_INIT; c972bf4c 244) strvec_clear(&args); c972bf4c 246) strvec_pushl(&args, "sh", "-c", c972bf4c 249) strvec_pushl(&args, "test-tool", "run-command", c972bf4c 257) strvec_push(&args, argv[j]); c972bf4c 271) strvec_push(&args, buf); c972bf4c 304) strvec_clear(&args); c972bf4c 314) strvec_clear(&args); c972bf4c 341) strvec_pushl(&cp.args, tmp-objdir.c c972bf4c 102) strvec_pushf(env, "%s=%s%c%s", key, old, PATH_SEP, val); transport-helper.c c972bf4c 448) strvec_pushf(&fastimport->args, "--cat-blob-fd=%d", cat_blob_fd); upload-pack.c c972bf4c 309) strvec_pushf(&pack_objects.args, "--filter=%s", buf.buf); Jeff King fbff95b6 index-pack: adjust default threading cap builtin/index-pack.c fbff95b6 1855) else if (nr_threads < 6) fbff95b6 1856) nr_threads = 3; /* historic cap */ fbff95b6 1857) else if (nr_threads < 40) fbff95b6 1858) nr_threads /= 2; fbff95b6 1860) nr_threads = 20; /* hard cap */ Jeff King e885a84f drop unused argc parameters t/helper/test-submodule-nested-repo-config.c e885a84f 4) static void die_usage(const char **argv, const char *msg) e885a84f 17) die_usage(argv, "Wrong number of arguments."); e885a84f 23) die_usage(argv, "Submodule not found."); Jeff King f6d8942b strvec: fix indentation in renamed calls builtin/rebase.c f6d8942b 873) opts->git_format_patch_opt.buf); daemon.c f6d8942b 926) ntohs(sin6_addr->sin6_port)); remote-curl.c f6d8942b 1172) options.deepen_not.items[i].string); Jiang Xin 63518a57 New capability "report-status-v2" for git-push send-pack.c 63518a57 183) if (!once++) 63518a57 185) ret = -1; 63518a57 186) continue; 63518a57 223) ret = -1; 63518a57 224) break; 63518a57 241) hint->status != REF_STATUS_OK && 63518a57 242) hint->status != REF_STATUS_REMOTE_REJECT) { 63518a57 440) else if (server_supports("report-status")) transport-helper.c 63518a57 839) state->hint = find_ref_by_name(remote_refs, refname); 63518a57 895) continue; 63518a57 900) for (report = ref->report; report; report = report->next) { 63518a57 901) private = apply_refspecs(&data->rs, 63518a57 902) report->ref_name 63518a57 905) if (!private) 63518a57 906) continue; 63518a57 907) update_ref("update by helper", private, 63518a57 908) report->new_oid 63518a57 912) free(private); Jiang Xin 31e8595a receive-pack: new config receive.procReceiveRefs builtin/receive-pack.c 31e8595a 246) return config_error_nonbool(var); 31e8595a 394) return 0; 31e8595a 1911) continue; Jiang Xin 15d3af5e receive-pack: add new proc-receive hook builtin/receive-pack.c 15d3af5e 1124) return code; 15d3af5e 1132) if (use_sideband) 15d3af5e 1133) finish_async(&muxer); 15d3af5e 1134) return code; t/helper/test-proc-receive.c 15d3af5e 136) usage_msg_opt("Too many arguments.", proc_receive_usage, options); Jim Meyering 5a7b1b57 fast-import: Don't use a maybe-clobbered errno value builtin/fast-import.c 5a7b1b57 1705) int saved_errno = errno; Johan Herland a8dd2e7d fast-import: Add support for importing commit notes builtin/fast-import.c a8dd2e7d 2504) if (type < 0) a8dd2e7d 2506) if (type != OBJ_BLOB) Johannes Schindelin 40db58b8 fast-import: Fix compile warnings builtin/fast-import.c 40db58b8 1892) (unsigned long)(length - n)); Johannes Schindelin c5aa6db6 argv_array: offer to split a string by whitespace strvec.c c5aa6db6 72) to_split++; Jon Griffiths a6e5e286 credential-cache--daemon: refactor check_socket_directory builtin/credential-cache--daemon.c a6e5e286 247) die_errno("unable to create directories for '%s'", dir); a6e5e286 249) die_errno("unable to mkdir '%s'", dir); Jonathan Nieder dc01f59d fast-import: treat SIGUSR1 as a request to access objects early builtin/fast-import.c dc01f59d 430) static void checkpoint_signal(int signo) dc01f59d 432) checkpoint_requested = 1; dc01f59d 433) } Jonathan Nieder 5edde510 fast-import: filemodify after M 040000 <tree> "" crashes builtin/fast-import.c 5edde510 1495) load_tree(root); Jonathan Nieder c27e559d fast-import: leakfix for 'ls' of dirty trees builtin/fast-import.c c27e559d 3182) release_tree_content_recursive(leaf.tree); Jonathan Tan f08cbf60 index-pack: make quantum of work smaller builtin/index-pack.c f08cbf60 424) list_for_each_prev(pos, &done_head) { f08cbf60 425) struct base_data *b = list_entry(pos, struct base_data, list); f08cbf60 426) if (b->retain_data || b == retain) f08cbf60 427) continue; f08cbf60 428) if (b->data) { f08cbf60 429) free_base_data(b); f08cbf60 430) if (base_cache_used <= base_cache_limit) f08cbf60 431) return; f08cbf60 435) list_for_each_prev(pos, &work_head) { f08cbf60 436) struct base_data *b = list_entry(pos, struct base_data, list); f08cbf60 437) if (b->retain_data || b == retain) f08cbf60 438) continue; f08cbf60 439) if (b->data) { f08cbf60 440) free_base_data(b); f08cbf60 441) if (base_cache_used <= base_cache_limit) f08cbf60 442) return; f08cbf60 925) base_cache_used += c->size; f08cbf60 941) base_cache_used += c->size; Jonathan Tan ee47243d pack-objects: no fetch when allow-{any,promisor} builtin/pack-objects.c ee47243d 3065) if (!has_object(the_repository, &obj->oid, 0) && is_promisor_object(&obj->oid)) Jonathan Tan f24c30e0 wt-status: tolerate dangling marks builtin/show-branch.c f24c30e0 744) if (!dwim_ref(*av, strlen(*av), &oid, &ref, 0)) Jonathan Tan 1d8d9cb6 sha1-file: introduce no-lazy-fetch has_object() sha1-file.c 1d8d9cb6 2000) return 0; Jonathan Tan 7ca3c0ac promisor-remote: lazy-fetch objects in subprocess promisor-remote.c 7ca3c0ac 35) die_errno(_("promisor-remote: could not write to fetch subprocess")); 7ca3c0ac 37) die_errno(_("promisor-remote: could not write to fetch subprocess")); 7ca3c0ac 41) die_errno(_("promisor-remote: could not close stdin to fetch subprocess")); Jonathan Tan cbe566a0 negotiator/noop: add noop fetch negotiator negotiator/noop.c cbe566a0 6) static void known_common(struct fetch_negotiator *n, struct commit *c) cbe566a0 9) } cbe566a0 21) static int ack(struct fetch_negotiator *n, struct commit *c) Jonathan Tan 5c3b801d fetch-pack: do not lazy-fetch during ref iteration fetch-pack.c 5c3b801d 126) return NULL; Jonathan Tan e5b94213 fetch: avoid reading submodule config until needed submodule-config.c e5b94213 780) if (config->max_children) e5b94213 781) *(config->max_children) = e5b94213 782) parse_submodule_fetchjobs(var, value); e5b94213 785) if (config->recurse_submodules) e5b94213 786) *(config->recurse_submodules) = e5b94213 787) parse_fetch_recurse_submodules_arg(var, value); Junio C Hamano 6c526148 csum-file: introduce sha1file_checkpoint builtin/fast-import.c 6c526148 1157) truncate_pack(&checkpoint); Junio C Hamano e0ad9574 Merge branch 'bc/sha-256-part-3' builtin/verify-pack.c e0ad9574 22) strvec_push(argv, "--verify-stat-only"); setup.c e0ad9574 497) return config_error_nonbool(var); Junio C Hamano 6854689e Merge branch 'ar/fetch-ipversion-in-all' builtin/fetch.c 6854689e 1568) strvec_push(argv, "--ipv4"); 6854689e 1570) strvec_push(argv, "--ipv6"); Junio C Hamano ebcfb379 write_idx_file: introduce a struct to hold idx customization options builtin/fast-import.c ebcfb379 3455) if (pack_idx_opts.version > 2) Junio C Hamano 9ed104e5 ident: say whose identity is missing when giving user.name hint ident.c 9ed104e5 359) break; 9ed104e5 401) ident_env_hint(whose_ident); 9ed104e5 418) ident_env_hint(whose_ident); 9ed104e5 424) ident_env_hint(whose_ident); Junio C Hamano 55bb5c91 zlib: wrap deflate side of the API builtin/fast-import.c 55bb5c91 997) git_deflate_init(&s, pack_compression_level); 55bb5c91 1002) while (git_deflate(&s, Z_FINISH) == Z_OK) 55bb5c91 1004) git_deflate_end(&s); Junio C Hamano 76ea93cc fast-import.c: Fix big-file-threshold parsing bug builtin/fast-import.c 76ea93cc 3350) return 0; Junio C Hamano 88910c99 quote_path: give flags parameter to quote_path() builtin/clean.c 88910c99 217) quote_path(path->buf, prefix, "ed, 0); 88910c99 241) quote_path(path->buf, prefix, "ed, 0); 88910c99 1057) qname = quote_path(item->string, NULL, &buf, 0); Junio C Hamano 225a6f10 zlib: wrap deflateBound() too builtin/fast-import.c 225a6f10 1000) s.avail_out = git_deflate_bound(&s, s.avail_in); Junio C Hamano 6e6029a8 fmt-merge-msg: allow merge destination to be omitted again fmt-merge-msg.c 6e6029a8 29) return config_error_nonbool(key); Junio C Hamano 4d0cc224 fast-import: count --max-pack-size in bytes builtin/fast-import.c 4d0cc224 3338) return 0; 4d0cc224 3339) if (v < 8192) { 4d0cc224 3341) v *= 1024 * 1024; 4d0cc224 3342) } else if (v < 1024 * 1024) { 4d0cc224 3344) v = 1024 * 1024; 4d0cc224 3346) max_packsize = v; Lin Sun dbd8c09b mergetool: allow auto-merge for meld to follow the vim-diff behavior builtin/config.c dbd8c09b 99) new_type = TYPE_BOOL_OR_STR; dbd8c09b 258) int v = git_parse_maybe_bool(value_); dbd8c09b 259) if (v < 0) dbd8c09b 260) strbuf_addstr(buf, value_); dbd8c09b 262) strbuf_addstr(buf, v ? "true" : "false"); dbd8c09b 425) int v = git_parse_maybe_bool(value); dbd8c09b 426) if (v < 0) dbd8c09b 427) return xstrdup(value); dbd8c09b 429) return xstrdup(v ? "true" : "false"); Martin Ågren 8f7e3de0 wt-status: print to s->fp, not stdout wt-status.c 8f7e3de0 1859) fprintf(s->fp, " %s%c", it->string, 0); Matheus Tavares bda959c4 packfile: fix memory leak in add_delta_base_cache() packfile.c bda959c4 1487) free(base); Michael Forney ea3f7e59 revision: use repository from rev_info when parsing commits revision.c ea3f7e59 1058) if (repo_parse_commit(revs->repo, p) < 0) Michael Haggerty 9e903316 credential-cache--daemon: use tempfile module builtin/credential-cache--daemon.c 9e903316 297) delete_tempfile(&socket_file); Mike Hommey 0df32457 fast-import: do less work when given "from" matches current branch head builtin/fast-import.c 0df32457 2600) release_tree_content_recursive(b->branch_tree.tree); 0df32457 2601) b->branch_tree.tree = NULL; Miriam Rubio 7b4de74b bisect--helper: introduce new `write_in_file()` function builtin/bisect--helper.c 7b4de74b 97) return error_errno(_("cannot open file '%s' in mode '%s'"), path, mode); 7b4de74b 101) int saved_errno = errno; 7b4de74b 102) fclose(fp); 7b4de74b 103) errno = saved_errno; 7b4de74b 104) return error_errno(_("could not write to file '%s'"), path); Nguyễn Thái Ngọc Duy 26604f9f credential-cache--daemon.c: use warning_errno() builtin/credential-cache--daemon.c 26604f9f 185) warning_errno("accept failed"); 26604f9f 190) warning_errno("dup failed"); Nguyễn Thái Ngọc Duy d3b4705a sha1-file.c: remove the_repo from read_object_with_reference() builtin/fast-import.c d3b4705a 2648) char *buf = read_object_with_reference(the_repository, d3b4705a 2649) &n->oid, Nguyễn Thái Ngọc Duy 6c223e49 fast-import.c: use error_errno() builtin/fast-import.c 6c223e49 320) error_errno("can't write crash report %s", loc); 6c223e49 1698) failure |= error_errno("Unable to write marks file %s", 6c223e49 1714) failure |= error_errno("Unable to write file %s", Nicolas Pitre 3fc366bd fast-import: start using struct pack_idx_entry builtin/fast-import.c 3fc366bd 1155) e->idx.offset = 1; /* just not zero! */ Noam Postavsky 7f4d4746 credential-cache: new option to ignore sighup builtin/credential-cache--daemon.c 7f4d4746 294) signal(SIGHUP, SIG_IGN); Paul Tan cb2c2796 git-credential-store: support multiple credential files builtin/credential-store.c cb2c2796 103) return; cb2c2796 131) return; cb2c2796 170) string_list_append(&fns, file); Phillip Wood a3894aad rebase -i: support --ignore-date sequencer.c a3894aad 1448) goto out; a3894aad 1453) goto out; a3894aad 1479) goto out; Phillip Wood 7573cec5 rebase -i: support --committer-date-is-author-date sequencer.c 7573cec5 4498) return -1; 7573cec5 5395) goto cleanup; Phillip Wood ce910287 add -p: fix checking of user input add-patch.c ce910287 1508) if (permitted & ALLOW_GOTO_PREVIOUS_HUNK) ce910287 1513) if (permitted & ALLOW_GOTO_NEXT_HUNK) ce910287 1518) if (permitted & ALLOW_GOTO_PREVIOUS_UNDECIDED_HUNK) ce910287 1523) if (permitted & ALLOW_GOTO_NEXT_UNDECIDED_HUNK) Phillip Wood 75a009dc add -p: fix editing of intent-to-add paths add-patch.c 75a009dc 1398) undecided_previous = i; 75a009dc 1399) break; 75a009dc 1421) permitted |= ALLOW_GOTO_PREVIOUS_UNDECIDED_HUNK; 75a009dc 1422) strbuf_addstr(&s->buf, ",k"); 75a009dc 1484) if (file_diff->hunk_nr) { 75a009dc 1485) for (; hunk_index < file_diff->hunk_nr; hunk_index++) { 75a009dc 1486) hunk = file_diff->hunk + hunk_index; 75a009dc 1487) if (hunk->use == UNDECIDED_HUNK) 75a009dc 1488) hunk->use = USE_HUNK; 75a009dc 1490) } else if (hunk->use == UNDECIDED_HUNK) { 75a009dc 1491) hunk->use = USE_HUNK; 75a009dc 1500) } else if (hunk->use == UNDECIDED_HUNK) { 75a009dc 1501) hunk->use = SKIP_HUNK; Pierre Habouzit eec813cf fast-import was using dbuf's, replace them with strbuf's. builtin/fast-import.c eec813cf 998) s.next_in = (void *)dat->buf; eec813cf 999) s.avail_in = dat->len; Pranit Bauva 517ecb31 bisect--helper: reimplement `bisect_next` and `bisect_auto_next` shell functions in C builtin/bisect--helper.c 517ecb31 529) return res; 517ecb31 533) return error_errno(_("could not open '%s' for appending"), 517ecb31 537) return error_errno(_("failed to write to '%s'"), git_path_bisect_log()); 517ecb31 586) return BISECT_FAILED; Pranit Bauva 09535f05 bisect--helper: reimplement `bisect_autostart` shell function in C builtin/bisect--helper.c 09535f05 827) fprintf_ln(stderr, _("You need to start by \"git bisect " 09535f05 830) if (!isatty(STDIN_FILENO)) 09535f05 831) return -1; 09535f05 838) yesno = git_prompt(_("Do you want me to do it for you " 09535f05 840) res = tolower(*yesno) == 'n' ? 09535f05 841) -1 : bisect_start(terms, empty_strvec, 0); 09535f05 843) return res; Prathamesh Chavan e83e3333 submodule: port submodule subcommand 'summary' from shell to C builtin/submodule--helper.c e83e3333 1091) missing_dst = 1; e83e3333 1142) strbuf_addf(&errmsg_str, " Warn: %s doesn't contain commits %s and %s\n", e83e3333 1143) displaypath, oid_to_hex(&p->oid_src), e83e3333 1144) oid_to_hex(&p->oid_dst)); e83e3333 1149) oid_to_hex(&p->oid_dst)); e83e3333 1271) return -1; e83e3333 1275) return -1; e83e3333 1319) return 0; Randall S. Becker f64b6a1f bugreport.c: replace strbuf_write_fd with write_in_full builtin/bugreport.c f64b6a1f 178) die_errno(_("unable to write to %s"), report_path.buf); René Scharfe 24b75faf connected: use buffered I/O to talk to rev-list connected.c 24b75faf 143) if (errno != EPIPE && errno != EINVAL) 24b75faf 144) error_errno(_("failed write to rev-list")); 24b75faf 145) err = -1; René Scharfe bcd2c5ee read-cache: fix mem-pool allocation for multi-threaded index loading read-cache.c bcd2c5ee 2104) p->ce_mem_pool = xmalloc(sizeof(*istate->ce_mem_pool)); René Scharfe 2947a793 archive: add --add-file archive.c 2947a793 345) err = error_errno(_("could not read '%s'"), path); 2947a793 352) break; 2947a793 513) string_list_clear_func(&args->extra_files, 2947a793 515) return 0; 2947a793 519) return -1; René Scharfe a698d67b upload-pack: use buffered I/O to talk to rev-list upload-pack.c a698d67b 661) if (cmd_in) a698d67b 662) fclose(cmd_in); Ronnie Sahlberg 3f09ba75 fast-import.c: use a ref transaction when dumping tags builtin/fast-import.c 3f09ba75 1662) goto cleanup; 3f09ba75 1671) goto cleanup; Ronnie Sahlberg de7e86f5 fast-import.c: change update_branch to use ref transactions builtin/fast-import.c de7e86f5 1630) ref_transaction_free(transaction); de7e86f5 1632) strbuf_release(&err); de7e86f5 1633) return -1; Ryan Zoeller a0abe5e3 parse-options: add --git-completion-helper-all parse-options.c a0abe5e3 736) return show_gitcomp(options, 1); Sergey Organov d01141de diff: get rid of redundant 'dense' argument diff-lib.c d01141de 362) show_combined_diff(p, 2, revs); Shawn O. Pearce d9ee53ce Implemented automatic checkpoints within fast-import. builtin/fast-import.c d9ee53ce 990) e->pack_id = pack_id + 1; d9ee53ce 994) if (delta) { Shawn O. Pearce 820b9310 Dump all refs and marks during a checkpoint in fast-import. builtin/fast-import.c 820b9310 991) cycle_packfile(); Shawn O. Pearce 60b9004c Use atomic updates to the fast-import mark file builtin/fast-import.c 60b9004c 1700) return; 60b9004c 1706) rollback_lock_file(&mark_lock); 60b9004c 1709) return; Shawn O. Pearce 5eef828b fast-import: Stream very large blobs directly to pack builtin/fast-import.c 5eef828b 1063) die_errno("cannot truncate pack to skip duplicate"); 5eef828b 1085) cycle_packfile(); 5eef828b 1153) e->type = OBJ_BLOB; 5eef828b 1154) e->pack_id = MAX_PACK_ID; 5eef828b 1156) duplicate_count_by_type[OBJ_BLOB]++; Shawn O. Pearce b6f3481b Teach fast-import to recursively copy files/directories builtin/fast-import.c b6f3481b 720) return NULL; b6f3481b 727) b->tree = dup_tree_content(a->tree); b6f3481b 1576) return 0; b6f3481b 1582) return 0; Shawn O. Pearce afde8dd9 Fixed segfault in fast-import after growing a tree. builtin/fast-import.c afde8dd9 1424) release_tree_content_recursive(e->tree); Shawn O. Pearce 5d6f3ef6 Corrected buffer overflow during automatic checkpoint in fast-import. builtin/fast-import.c 5d6f3ef6 1001) s.next_out = out = xrealloc(out, s.avail_out); Shawn O. Pearce 63e0c8b3 Support RFC 2822 date parsing in fast-import. builtin/fast-import.c 63e0c8b3 1920) return -1; 63e0c8b3 1978) break; Shawn O. Pearce 463acbe1 Added tree and commit writing to fast-import. builtin/fast-import.c 463acbe1 640) l->next_avail = f->next_avail; 463acbe1 1227) return NULL; 463acbe1 1456) return 0; 463acbe1 2032) e = active_branches; 463acbe1 2033) active_branches = e->active_next_branch; Shawn O. Pearce bdf1c06d fast-import: Hide the pack boundary commits by default. builtin/fast-import.c bdf1c06d 891) if (t->pack_id == pack_id) Shawn O. Pearce 2f6dc35d fast-import: Fail if a non-existant commit is used for merge builtin/fast-import.c 2f6dc35d 2654) free(buf); Shawn O. Pearce 8acb3297 Generate crash reports on die in fast-import builtin/fast-import.c 8acb3297 305) fprintf(rpt, "%u", b->pack_id); 8acb3297 322) return; Shawn O. Pearce 69e74e74 Correct packfile edge output in fast-import. builtin/fast-import.c 69e74e74 2860) t->pack_id = MAX_PACK_ID; Shawn O. Pearce bb23fdfa Teach fast-import to honor pack.compression and pack.depth builtin/fast-import.c bb23fdfa 3450) if (max_depth > MAX_DEPTH) bb23fdfa 3451) max_depth = MAX_DEPTH; Stefan Beller 0df8e965 cache.h: add repository argument to oid_object_info builtin/fast-import.c 0df8e965 2502) enum object_type type = oid_object_info(the_repository, &oid, Sverre Rabbelier 9c8398f0 fast-import: add option command builtin/fast-import.c 9c8398f0 3500) usage(fast_import_usage); Sverre Rabbelier 0f6927c2 fast-import: put option parsing code in separate functions builtin/fast-import.c 0f6927c2 3284) if (max_depth > MAX_DEPTH) 0f6927c2 3286) } 0f6927c2 3309) fclose(pack_edges); 0f6927c2 3361) show_stats = 1; SZEDER Gábor 87d01c85 credential-store: don't pass strerror to die_errno() builtin/credential-store.c 87d01c85 67) die_errno("unable to write credential store"); SZEDER Gábor 17e6275f commit-graph: simplify chunk writes into loop commit-graph.c 17e6275f 1821) return -1; Tanay Abhra 536900e5 fast-import.c: replace `git_config()` with `git_config_get_*()` family builtin/fast-import.c 536900e5 3454) pack_idx_opts.version = indexversion_value; 536900e5 3456) git_die_config("pack.indexversion", 536900e5 3460) max_packsize = packsizelimit_value; Taylor Blau 809e0327 builtin/commit-graph.c: introduce '--max-new-filters=<n>' builtin/commit-graph.c 809e0327 175) *to = -1; Taylor Blau b9ea2147 list_objects_filter_options: introduce 'list_object_filter_config_name' list-objects-filter-options.c b9ea2147 23) break; b9ea2147 36) break; Taylor Blau 6dd3456a upload-pack.c: allow banning certain object filter(s) upload-pack.c 6dd3456a 1078) die_if_using_banned_filter(data); Taylor Blau 5b01a4e8 upload-pack.c: introduce 'uploadpackfilter.tree.maxDepth' upload-pack.c 5b01a4e8 1259) strbuf_release(&buf); 5b01a4e8 1260) return config_error_nonbool(var); Taylor Blau 59f0d507 bloom: encode out-of-bounds filters as non-empty bloom.c 59f0d507 294) init_truncated_large_filter(filter); Taylor Blau ab14d067 commit-graph: pass a 'struct repository *' in more places fuzz-commit-graph.c ab14d067 14) g = parse_commit_graph(the_repository, (void *)data, size); Taylor Blau 98bb7961 commit-graph: rename 'split_commit_graph_opts' commit-graph.c 98bb7961 2218) ctx->oids.alloc = opts->max_commits; Taylor Blau 312cff52 bloom: split 'get_bloom_filter()' in two bloom.c 312cff52 296) if (computed) 312cff52 297) *computed |= BLOOM_TRUNC_LARGE; Thomas Rast 0721c314 Use die_errno() instead of die() when checking syscalls builtin/fast-import.c 0721c314 793) die_errno("cannot create keep file"); 0721c314 796) die_errno("failed to write keep file");