This is simple to have all the simple case unfold before the 100+ line one. Otherwise it is hard to relate the else to the initial conditionnal.
This is part of a larger refactoring/cleanup of the commitctx code to clarify
and augment the logic gathering metadata useful for copy tracing. The current
code is a tad too long and entangled to make such update easy. We start with
easy and small cleanup.