Junio C Hamano <gitster@xxxxxxxxx> writes: > but I have to wonder if we do even better in a future follow-up > patch. "if we do" -> "if we can do". > So wouldn't it work well if we > > (1) at the beginning of do_remerge_diff(), only once for a rev_info > structure: > (1-a) lazily do the "object directory rotation" > (1-b) set up an atexit handler to clear the temporary object > store An atexit handler may not be enough, when a program wants to start creating a real object after we did a remerge-diff but before exiting. So we'd probably need to allow an explicit "ok, we are done" clean-up call for such a program, too. And the atexit handler can call the same clean-up function if the program hasn't called it explicitly. For logically read-only operations like diff-tree, they do not have to worry about rotating the real object store back to the primary status as soon as possible.