Phillip Wood <phillip.wood123@xxxxxxxxx> writes: > I found the talk of "non-transactional" sessions a bit confusing > because the normal --stdin does update all the refs it is given as a > single transaction, so that if it cannot update one ref none of them > are updated. If I've understood correctly these changes are about > coordinating transactions across several repositories. I'm not sure > how best to convey that in the man page - perhaps we could call them > single repository transactions and multi repository transaction or > something. FWIW, I described the topic in my "What's cooking" report as adding an ingredient to implement two-phase commit-style atomic updates across multiple repositories. These "prepare to commit, now if you say 'yes I am ready', there is no taking it back", "now do the commit as you promised", and "Earlier I made you promise that you'd commit all when I tell you, but you no longer should commit" are good enough ingredients, but I am not so sure about the actual implementation in this topic (or it is really possible to make the promise "ok, now I can commit everything without lock conflicts if you tell me" with our ref API, which does not have "now freeze all refs in the repository---from now on until I say otherwise, no refs can be manipulated", in the first place).