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

ps/avoid-unnecessary-hook-invocation-with-packed-refs (was: What's cooking in git.git (Feb 2022, #01; Thu, 3))

From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Date
Feb 4, 2022, 12:31 UTC
Message-ID
<220204.86ee4i3j5d.gmgdl@evledraar.gmail.com>
In-Reply-To
<xmqqr18jnr2t.fsf@gitster.g>
On Thu, Feb 03 2022, Junio C Hamano wrote:
Show 15 quoted lines
> * ps/avoid-unnecessary-hook-invocation-with-packed-refs (2022-01-17) 6 commits
>  - refs: skip hooks when deleting uncovered packed refs
>  - refs: do not execute reference-transaction hook on packing refs
>  - refs: demonstrate excessive execution of the reference-transaction hook
>  - refs: allow skipping the reference-transaction hook
>  - refs: allow passing flags when beginning transactions
>  - refs: extract packed_refs_delete_refs() to allow control of transaction
>
>  Because a deletion of ref would need to remove it from both the
>  loose ref store and the packed ref store, a delete-ref operation
>  that logically removes one ref may end up invoking ref-transaction
>  hook twice, which has been corrected.
>
>  Will merge to 'next'?
>  source: <cover.1642406989.git.ps@pks.im>

I think so, I didn't reply but I consider the feedback I had on it fully addressed. In particular the "is this the right direction?" comment replied to at https://lore.kernel.org/git/YeUhMPSlC%2FX6HRBF@ncase/

I'm not digging it up now, but I think Han-Wen correctly noted that we have a "packed" backend for no particular good reason, and much of that is die/stub functions, we should really just have a unified "the file stuff" backend.

So from an API perspective messaging upwards about loose->packed or whatever is as irrelevant as having a psql backend and messaging about VACUUM, which is essentially paraphrasing what Patrick correctly points out there.

Previous: Jean-Noël AVILANext: Ævar Arnfjörð Bjarmason
Message 19 of 22 in “What's cooking in git.git (Feb 2022, #01; Thu, 3)”
  1. Junio C HamanoFeb 4, 2022
  2. Eric SunshineFeb 4, 2022
  3. Junio C HamanoFeb 5, 2022
  4. Opinions on merging questions (Was: What's cooking in git.git (Feb 2022, #01; Thu, 3))Elijah Newren, Feb 4, 2022
  5. en/remerge-diff (was: Opinions on merging questions (Was: What's cooking in git.git (Feb 2022, #01; Thu, 3)))Ævar Arnfjörð Bjarmason, Feb 4, 2022
  6. Junio C HamanoFeb 4, 2022
  7. Eric SunshineFeb 6, 2022
  8. Derrick StoleeFeb 9, 2022
  9. Phillip WoodFeb 7, 2022
  10. jc/doc-log-messages (was: What's cooking in git.git (Feb 2022, #01; Thu, 3))Ævar Arnfjörð Bjarmason, Feb 4, 2022
  11. rj/receive-pack-abort-upon-disconnect (was: What's cooking in git.git (Feb 2022, #01; Thu, 3))Ævar Arnfjörð Bjarmason, Feb 4, 2022
  12. cb/clear-quarantine-early-on-all-ref-update-errors (was: What's cooking in git.git (Feb 2022, #01; Thu, 3))Ævar Arnfjörð Bjarmason, Feb 4, 2022
  13. Junio C HamanoFeb 4, 2022
  14. ja/i18n-common-messages (was: What's cooking in git.git (Feb 2022, #01; Thu, 3))Ævar Arnfjörð Bjarmason, Feb 4, 2022
  15. Junio C HamanoFeb 4, 2022
  16. Jean-Noël AVILAFeb 5, 2022
  17. Bagas SanjayaFeb 6, 2022
  18. Jean-Noël AVILAFeb 6, 2022
  19. ps/avoid-unnecessary-hook-invocation-with-packed-refs (was: What's cooking in git.git (Feb 2022, #01; Thu, 3))Ævar Arnfjörð Bjarmason, Feb 4, 2022
  20. ab/ambiguous-object-name (was: What's cooking in git.git (Feb 2022, #01; Thu, 3))Ævar Arnfjörð Bjarmason, Feb 4, 2022
  21. tl/ls-tree-oid-only (was: What's cooking in git.git (Feb 2022, #01; Thu, 3))Ævar Arnfjörð Bjarmason, Feb 4, 2022
  22. ab/only-single-progress-at-once (was: What's cooking in git.git (Feb 2022, #01; Thu, 3))Ævar Arnfjörð Bjarmason, Feb 4, 2022

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.