From: Junio C Hamano Date: Mon, 16 Sep 2024 21:22:54 +0000 (-0700) Subject: Merge branch 'jc/range-diff-lazy-setup' X-Git-Tag: v2.47.0-rc0~39 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=be8ca2848a9e73f6ddc31ebce2ddc3c367d4f0cb;p=thirdparty%2Fgit.git Merge branch 'jc/range-diff-lazy-setup' Code clean-up. * jc/range-diff-lazy-setup: remerge-diff: clean up temporary objdir at a central place remerge-diff: lazily prepare temporary objdir on demand --- be8ca2848a9e73f6ddc31ebce2ddc3c367d4f0cb diff --cc builtin/stash.c index be842258d0,6dc70a6be2..4a2a633ce3 --- a/builtin/stash.c +++ b/builtin/stash.c @@@ -974,10 -972,8 +974,10 @@@ static int show_stash(int argc, const c } log_tree_diff_flush(&rev); - ret = diff_result_code(&rev.diffopt); + ret = diff_result_code(&rev); + cleanup: + strvec_clear(&revision_args); strvec_clear(&stash_args); free_stash_info(&info); release_revisions(&rev); diff --cc log-tree.c index 04cef08b83,83e648b7cd..3758e0d3b8 --- a/log-tree.c +++ b/log-tree.c @@@ -1015,8 -1019,19 +1015,19 @@@ static int do_remerge_diff(struct rev_i struct strbuf parent1_desc = STRBUF_INIT; struct strbuf parent2_desc = STRBUF_INIT; + /* + * Lazily prepare a temporary object directory and rotate it + * into the alternative object store list as the primary. + */ + if (opt->remerge_diff && !opt->remerge_objdir) { + opt->remerge_objdir = tmp_objdir_create("remerge-diff"); + if (!opt->remerge_objdir) + return error(_("unable to create temporary object directory")); + tmp_objdir_replace_primary_odb(opt->remerge_objdir, 1); + } + /* Setup merge options */ - init_merge_options(&o, the_repository); + init_ui_merge_options(&o, the_repository); o.show_rename_progress = 0; o.record_conflict_msgs_as_headers = 1; o.msg_header_prefix = "remerge";