Patrick Steinhardt <ps@xxxxxx> writes: > So what you're observing is simply mirroring "reality": the order in > which git does its things here. There can be arbitrarily many > transactions in a given git command, and the only way this can be > changed is by changing how the command operating the transcations works. In other words, ref transaction is only about changes to the refs. There is no such "transaction" that treats a series of operations like object creation and index manipulation that may happen before a group of refs are updated as a single unit and make it atomic.