Patrick Steinhardt [off-list ref] writes:
We have another solution that is even simpler: just do nothing. I do not
think that the behaviour we exhibit is wrong. Unwieldy? Maybe. But it is
merely stating facts: we are executing a transaction in a repository
that is not yet fully set up. If you don't want that, either don't set
up a global reference-transaction hook, or alternatively handle that
edge case in your script.
I like that over all the other choices.
My art in leaving out what I really want to see happen and let
others say it is improving, it seems ;-).