Subject: [PATCH v2 0/2] merge-ort: clean up after failed merge

From: "Johannes Schindelin via GitGitGadget" <[email-masked]>
Date: Fri, 29 Jul 2022 17:12:05 +0000

I was investigating why seen's CI runs fail, and came up with this fix.

Changes since v1:

 * Rebased onto en/merge-ort-perf.
 * Now we're not only cleaning up the merge data structure, but also leaving
   the Trace2 region when returning early from merge_switch_to_result().

Johannes Schindelin (2):
  merge-ort: clean up after failed merge
  merge-ort: do leave Trace2 region even if checkout fails

 merge-ort.c | 5 +++++
 1 file changed, 5 insertions(+)

base-commit: 557ac0350d9efa1f59c708779ca3fb3aee121131
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-1307%2Fdscho%2Fmerge-ort-impl-leakfix-v2
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-1307/dscho/merge-ort-impl-leakfix-v2
Pull-Request: https://github.com/gitgitgadget/git/pull/1307

Range-diff vs v1:

 1:  128f77f7f34 ! 1:  082c7ffa41f merge-ort: clean up after failed merge
     @@ merge-ort.c: void merge_switch_to_result(struct merge_options *opt,
      +			merge_finalize(opt, result);
       			return;
       		}
     - 
     + 		trace2_region_leave("merge", "checkout", opt->repo);
      @@ merge-ort.c: void merge_switch_to_result(struct merge_options *opt,
       						    &opti->conflicted)) {
       			/* failure to function */
     @@ merge-ort.c: void merge_switch_to_result(struct merge_options *opt,
      +			merge_finalize(opt, result);
       			return;
       		}
     - 	}
     + 		trace2_region_leave("merge", "record_conflicted", opt->repo);
 -:  ----------- > 2:  d2e1af0f922 merge-ort: do leave Trace2 region even if checkout fails

-- 
gitgitgadget