#0 0x000055d3ab6b0cde in buffer_slab_peek (c=0x0, s=) at commit.c:290 285: v->size = size; 286: } 287: 288: const void *get_cached_commit_buffer(struct repository *r, const struct commit *commit, unsigned long *sizep) 289: { 290: struct commit_buffer *v = buffer_slab_peek( 291: r->parsed_objects->buffer_slab, commit); 292: if (!v) { 293: if (sizep) 294: *sizep = 0; 295: return NULL; #1 get_cached_commit_buffer (r=r@entry=0x55d3ab8e0680 , commit=commit@entry=0x0, sizep=sizep@entry=0x0) at commit.c:290 285: v->size = size; 286: } 287: 288: const void *get_cached_commit_buffer(struct repository *r, const struct commit *commit, unsigned long *sizep) 289: { 290: struct commit_buffer *v = buffer_slab_peek( 291: r->parsed_objects->buffer_slab, commit); 292: if (!v) { 293: if (sizep) 294: *sizep = 0; 295: return NULL; #2 0x000055d3ab6b0d3b in repo_get_commit_buffer (r=r@entry=0x55d3ab8e0680 , commit=commit@entry=0x0, sizep=sizep@entry=0x0) at commit.c:306 301: 302: const void *repo_get_commit_buffer(struct repository *r, 303: const struct commit *commit, 304: unsigned long *sizep) 305: { 306: const void *ret = get_cached_commit_buffer(r, commit, sizep); 307: if (!ret) { 308: enum object_type type; 309: unsigned long size; 310: ret = repo_read_object_file(r, &commit->object.oid, &type, &size); 311: if (!ret) #3 0x000055d3ab73fb05 in repo_logmsg_reencode (r=r@entry=0x55d3ab8e0680 , commit=commit@entry=0x0, commit_encoding=commit_encoding@entry=0x7ffc63d83518, output_encoding=output_encoding@entry=0x55d3ab80257a "UTF-8") at pretty.c:614 609: const char *output_encoding) 610: { 611: static const char *utf8 = "UTF-8"; 612: const char *use_encoding; 613: char *encoding; 614: const char *msg = repo_get_commit_buffer(r, commit, NULL); 615: char *out; 616: 617: if (!output_encoding || !*output_encoding) { 618: if (commit_encoding) 619: *commit_encoding = get_header(msg, "encoding"); #4 0x000055d3ab7417f4 in repo_format_commit_message (r=0x55d3ab8e0680 , commit=commit@entry=0x0, format=format@entry=0x55d3ab815233 "%s", sb=sb@entry=0x7ffc63d83610, pretty_ctx=pretty_ctx@entry=0x7ffc63d83630) at pretty.c:1640 1635: 1636: /* 1637: * convert a commit message to UTF-8 first 1638: * as far as 'format_commit_item' assumes it in UTF-8 1639: */ 1640: context.message = repo_logmsg_reencode(r, commit, 1641: &context.commit_encoding, 1642: utf8); 1643: 1644: strbuf_expand(sb, format, format_commit_item, &context); 1645: rewrap_message_tail(sb, &context, 0, 0, 0); #5 0x000055d3ab5e0466 in log_commit (fmt=0x55d3ab815233 "%s", commit=0x0, state=0x55d3ac771140 "bad", fp=0x55d3ac76fa10) at builtin/bisect--helper.c:193 188: { 189: struct pretty_print_context pp = {0}; 190: struct strbuf commit_msg = STRBUF_INIT; 191: char *label = xstrfmt(fmt, state); 192: 193: format_commit_message(commit, "%s", &commit_msg, &pp); 194: 195: fprintf(fp, "# %s: [%s] %s\n", label, oid_to_hex(&commit->object.oid), 196: commit_msg.buf); 197: 198: strbuf_release(&commit_msg); #6 bisect_write (state=0x55d3ac771140 "bad", rev=0x55d3ac770f70 '0' , nolog=nolog@entry=1, terms=, terms=) at builtin/bisect--helper.c:238 233: retval = error_errno(_("couldn't open the file '%s'"), git_path_bisect_log()); 234: goto finish; 235: } 236: 237: commit = lookup_commit_reference(the_repository, &oid); 238: log_commit(fp, "%s", state, commit); 239: 240: if (!nolog) 241: fprintf(fp, "git bisect %s %s\n", state, rev); 242: 243: finish: #7 0x000055d3ab5e13c5 in bisect_start (argc=, argv=..., no_checkout=, terms=0x7ffc63d83770) at builtin/bisect--helper.c:590 585: if (pathspec_pos < argc - 1) 586: sq_quote_argv(&bisect_names, argv + pathspec_pos); 587: write_file(git_path_bisect_names(), "%s\n", bisect_names.buf); 588: 589: for (i = 0; i < states.nr; i++) 590: if (bisect_write(states.items[i].string, 591: revs.items[i].string, terms, 1)) { 592: retval = -1; 593: goto finish; 594: } 595: #8 cmd_bisect__helper (argc=, argv=0x7ffc63d84070, prefix=) at builtin/bisect--helper.c:708 703: return error(_("--bisect-terms requires 0 or 1 argument")); 704: res = bisect_terms(&terms, argc == 1 ? argv[0] : NULL); 705: break; 706: case BISECT_START: 707: set_terms(&terms, "bad", "good"); 708: res = bisect_start(&terms, no_checkout, argv, argc); 709: break; 710: default: 711: return error("BUG: unknown subcommand '%d'", cmdmode); 712: } 713: free_terms(&terms); #9 0x000055d3ab5d62d4 in run_builtin (argv=, argc=, p=) at git.c:444 439: trace_argv_printf(argv, "trace: built-in: git"); 440: trace2_cmd_name(p->cmd); 441: trace2_cmd_list_config(); 442: 443: validate_cache_entries(the_repository->index); 444: status = p->fn(argc, argv, prefix); 445: validate_cache_entries(the_repository->index); 446: 447: if (status) 448: return status; 449: #10 handle_builtin (argc=, argv=) at git.c:674 669: argv = args.argv; 670: } 671: 672: builtin = get_builtin(cmd); 673: if (builtin) 674: exit(run_builtin(builtin, argc, argv)); 675: argv_array_clear(&args); 676: } 677: 678: static void execv_dashed_external(const char **argv) 679: { #11 0x000055d3ab5d7394 in run_argv (argv=0x7ffc63d83dc0, argcp=0x7ffc63d83dcc) at git.c:741 736: * NEEDSWORK: if we can figure out cases 737: * where it is safe to do, we can avoid spawning a new 738: * process. 739: */ 740: if (!done_alias) 741: handle_builtin(*argcp, *argv); 742: else if (get_builtin(**argv)) { 743: struct argv_array args = ARGV_ARRAY_INIT; 744: int i; 745: 746: /* #12 cmd_main (argc=, argv=) at git.c:872 867: * time. 868: */ 869: setup_path(); 870: 871: while (1) { 872: int was_alias = run_argv(&argc, &argv); 873: if (errno != ENOENT) 874: break; 875: if (was_alias) { 876: fprintf(stderr, _("expansion of alias '%s' failed; " 877: "'%s' is not a git command\n"), #13 0x000055d3ab5d5e7e in main (argc=4, argv=0x7ffc63d84068) at common-main.c:52 47: 48: trace2_initialize(); 49: trace2_cmd_start(argv); 50: trace2_collect_process_info(TRACE2_PROCESS_INFO_STARTUP); 51: 52: result = cmd_main(argc, argv); 53: 54: trace2_cmd_exit(result); 55: 56: return result; 57: }