On Thu, Jun 13, 2019 at 01:46:05PM -0600, Nasser Grainawi wrote: > > The underlying ref code is smart enough to coalesce all of the deletions > > in a single transaction into a single write of the packed-refs file. > > > > But historically, pushes do not do a single ref transaction because we > > would allow the push for one ref to succeed while others failed. Later, > > we added an "atomic" mode that does it all in a single transaction. > > > > Try with "git push --atomic", which should be able to do it in a single > > write. > > Thanks! > > Is there a way to get the bulk behavior without the all-or-nothing behavior? No, I don't think so. In theory the ref backend code could have a "non-atomic" flag that lets it do as much as possible of a single transaction. But nobody has ever implemented that. In practice, using "--atomic" shouldn't cause failures, unless you are trying to delete refs that somebody else is modifying at the same time. -Peff