git/list[1] front-page[2] threads[3] people[4] search[5] about
 

git receive-pack deletes refs one at a time?

From
Nasser Grainawi <nasser@codeaurora.org>
Date
Jun 13, 2019, 17:33 UTC
Message-ID
<E203B539-3481-435F-8D08-9C405DF42923@codeaurora.org>
I have a situation where I need to delete 100k+ refs on 15+ separate hosts/disks. This setup is using Gerrit replication, so I can trigger it all on one host and it will push the deletes to the rest (all running git-daemon v2.18.0 with receive-pack enabled). All the refs being deleted on the receiving ends are packed.
What I see is the packed-refs file getting locked/updated over and over for each ref. I had assumed it would do something more like 'update-ref --stdin' and do a bulk removal of refs. Am I seeing the correct behavior? If yes, is there a specific reason it works this way or is "bulk delete through push" just a feature that hasn't been implemented yet?

Thanks, Nasser

-- 
Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, 
a Linux Foundation Collaborative Project
Next: Jeff King
Message 1 of 4 in “git receive-pack deletes refs one at a time?”
  1. Nasser GrainawiJun 13, 2019
  2. Jeff KingJun 13, 2019
  3. Nasser GrainawiJun 13, 2019
  4. Jeff KingJun 13, 2019

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.