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