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

Re: RFC: Flat directory for notes, or fan-out? Both!

From
Thomas Rast <trast@student.ethz.ch>
Date
Feb 10, 2009, 22:16 UTC
Message-ID
<200902102316.56348.trast@student.ethz.ch>
In-Reply-To
<alpine.DEB.1.00.0902102210140.10279@pacific.mpi-cbg.de>
Johannes Schindelin wrote:
> Or we could use an on-disk hashmap.  Oh, wait...

While reading this thread, I sure wondered ... why don't we use the one on-disk fast access structure we already have: the index?

Sure, one problem is that the index reading code is inherently written for a single index state. However, all notes consumers I can currently think of (show, log, anything that displays commit messages) do not have to access the "real" index.

We'd immediately get lots of tool support for free. Presumably the real index code has been optimized very well, so it should perform well. Perhaps there could even be some definition of a NOTES_HEAD that tracks the current (albeit not checked out, that would be insane) state.

On a tangent, I'd really like to see a feature that lets us have several sets of notes (by whatever mechanism). Displaying them as "Notes from remotes/trast/mailnotes" or similar should be ok. Given that even before notes are in any release we already have at least two projects working with mass annotations, it doesn't take much of a crystal ball to see that the current one-note restriction will be a limitation.

At a (*very*) cursory glance at read-cache.c, it seems that there is even support for having several index structures in memory at once, making this easy. And it looks like reading the cache is more or less memcpy() if xmmap() is fast (Windows would suffer once again).

Then again I joined this discussion very late so feel free to ignore my ramblings.

-- 
Thomas Rast
trast@{inf,student}.ethz.ch
Previous: Johannes SchindelinNext: Thomas Rast
Message 22 of 33 in “RFC: Flat directory for notes, or fan-out? Both!”
  1. Johannes SchindelinFeb 9, 2009
  2. Boyd Stephen Smith Jr.Feb 10, 2009
  3. Jeff KingFeb 10, 2009
  4. Boyd Stephen Smith Jr.Feb 11, 2009
  5. Linus TorvaldsFeb 11, 2009
  6. Sam VilainFeb 11, 2009
  7. Linus TorvaldsFeb 11, 2009
  8. Sam VilainFeb 11, 2009
  9. Johannes SchindelinFeb 11, 2009
  10. Jeff KingFeb 10, 2009
  11. Johannes SchindelinFeb 10, 2009
  12. Jeff KingFeb 10, 2009
  13. Johannes SchindelinFeb 10, 2009
  14. Junio C HamanoFeb 10, 2009
  15. Shawn O. PearceFeb 10, 2009
  16. Johannes SchindelinFeb 10, 2009
  17. Shawn O. PearceFeb 10, 2009
  18. Johannes SchindelinFeb 10, 2009
  19. Junio C HamanoFeb 10, 2009
  20. Shawn O. PearceFeb 10, 2009
  21. Johannes SchindelinFeb 10, 2009
  22. Thomas RastFeb 10, 2009
  23. Thomas RastFeb 10, 2009
  24. Junio C HamanoFeb 10, 2009
  25. Jeff KingFeb 11, 2009
  26. Johannes SchindelinFeb 11, 2009
  27. Junio C HamanoFeb 11, 2009
  28. Johannes SchindelinFeb 11, 2009
  29. Shawn O. PearceFeb 10, 2009
  30. Johannes SchindelinFeb 10, 2009
  31. Shawn O. PearceFeb 10, 2009
  32. Sam VilainFeb 11, 2009
  33. Sam VilainFeb 11, 2009

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.