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

Re: [PATCH 0/5] refs: remove functions without ref store

From
Junio C Hamano <gitster@pobox.com>
Date
May 6, 2024, 16:14 UTC
Message-ID
<xmqqseyu3ojk.fsf@gitster.g>
In-Reply-To
<Zjh8XWwJKp_I1dwE@tanuki>
Patrick Steinhardt <ps@pks.im> writes:
> It's also in line with how other subsystems behave. Everything relating
> to strbufs has a `strbuf_` prefix, attr-related code has `attr_` or
> `git_attr_`, mem-pool has `mem_pool_`. So ref-related code having a
> `ref_` prefix just feels natural to me.

OK. This is a tangent but there are a few functions with strbuf_ prefix whose sole association with the strbuf is that it is the type that happens to be used to store the operand of the operation (it is like naming getenv() as str_getenv() or something silly like that). We should rename them to lose their strbuf_ prefix in the longer term.

> ... But honestly, I doubt
> that it would be faster for any author of a patch series to figure out
> that they now need to a define something compared to just adding the
> `refs_` prefix to their functions.

The authors would not bother figuring that out while your series is not yet in 'master'. The alternative they have is to base their series on top of yours. You may have "what changes are needed on the callers side" in your head, but they don't.

Somebody brought up the approach used in <banned.h> to move the problem to link time, but in the context the only message we are giving is "it is banned - do not use it", which is sufficient over there, but probably not in this context. "it was removed - use this instead by adding this suffix and add that as the first parameter" is the message I want whoever needs to deal with the fallout to see.

Previous: Patrick SteinhardtNext: Patrick Steinhardt
Message 17 of 32 in “refs: remove functions without ref store”
  1. 0/5 refs: remove functions without ref storePatrick Steinhardt, May 3, 2024
  2. 1/5 refs: introduce missing functions that accept a `struct ref_store`Patrick Steinhardt, May 3, 2024
  3. Junio C HamanoMay 3, 2024
  4. 2/5 refs: add `exclude_patterns` parameter to `for_each_fullref_in()`Patrick Steinhardt, May 3, 2024
  5. Taylor BlauMay 3, 2024
  6. 3/5 cocci: introduce rules to transform "refs" to pass ref storePatrick Steinhardt, May 3, 2024
  7. 4/5 cocci: apply rules to rewrite callers of "refs" interfacesPatrick Steinhardt, May 3, 2024
  8. Taylor BlauMay 3, 2024
  9. Junio C HamanoMay 3, 2024
  10. Patrick SteinhardtMay 6, 2024
  11. 5/5 refs: remove functions without ref storePatrick Steinhardt, May 3, 2024
  12. James LiuMay 6, 2024
  13. Junio C HamanoMay 3, 2024
  14. Jeff KingMay 3, 2024
  15. Junio C HamanoMay 3, 2024
  16. Patrick SteinhardtMay 6, 2024
  17. Junio C HamanoMay 6, 2024
  18. Patrick SteinhardtMay 7, 2024
  19. Junio C HamanoMay 7, 2024
  20. Patrick SteinhardtMay 7, 2024
  21. Junio C HamanoMay 7, 2024
  22. Jeff KingMay 9, 2024
  23. Patrick SteinhardtMay 10, 2024
  24. Taylor BlauMay 3, 2024
  25. Junio C HamanoMay 3, 2024
  26. 0/5 refs: remove functions without ref storePatrick Steinhardt, May 7, 2024
  27. 1/5 refs: introduce missing functions that accept a `struct ref_store`Patrick Steinhardt, May 7, 2024
  28. 2/5 refs: add `exclude_patterns` parameter to `for_each_fullref_in()`Patrick Steinhardt, May 7, 2024
  29. 3/5 cocci: introduce rules to transform "refs" to pass ref storePatrick Steinhardt, May 7, 2024
  30. 4/5 cocci: apply rules to rewrite callers of "refs" interfacesPatrick Steinhardt, May 7, 2024
  31. 5/5 refs: remove functions without ref storePatrick Steinhardt, May 7, 2024
  32. Taylor BlauMay 7, 2024

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.