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

[RFC/PATCHv9 00/11] git notes

From
Johan Herland <johan@herland.net>
Date
Dec 2, 2009, 02:09 UTC
Message-ID
<1259719783-4674-1-git-send-email-johan@herland.net>
Hi,

Here is the 9th iteration of the git-notes series. Changes in this iteration are as follows:

Changes to existing patches:
- Rebased back onto the early part of the jh/notes series, as
  suggested by Junio.
- Minor style fixes to some of the patches.
- The git-fast-import patch has been heavily rewritten after
  suggestions from Shawn. The new patch is much less intrusive,
  by way of NOT interfacing with the notes API, but doing the
  fanout strategy directly in fast-import.c instead.
- The new fast-import patch no longer depends on changes in the
  notes API. The fast-import-related patches are therefore moved
  to the head of the patch series, and the notes API changes that
  are no longer necessary (but still worthwhile, IMHO) are moved
  to the tail.

If Shawn is OK with the fast-import patch, I believe that at least patches #1 - #3 (and possibly #4 - #5) are ready for 'next'.

Patches #6 - #11 drastically extend the notes API. Since there are currently no users of that API, and it has not been discussed much on the list (although these patches have already been present in a couple of iterations), I would still consider them RFC quality.

TODO:
- Builtin-ify git-notes shell script to take advantage of notes API
- Garbage collect notes whose referenced object is unreachable (gc_notes())
- Handle note objects that are not blobs, but trees
Have fun! :)
...Johan
Johan Herland (11):
  fast-import: Proper notes tree manipulation
  Rename t9301 to t9350, to make room for more fast-import tests
  Add more testcases to test fast-import of notes
  Minor style fixes to notes.c
  Notes API: get_commit_notes() -> format_note() + remove the commit restriction
  Notes API: init_notes(): Initialize the notes tree from the given notes ref
  Notes API: add_note(): Add note objects to the internal notes tree structure
  Notes API: get_note(): Return the note annotating the given object
  Notes API: for_each_note(): Traverse the entire notes tree with a callback
  Notes API: Allow multiple concurrent notes trees with new struct notes_tree
  Refactor notes concatenation into a flexible interface for combining notes
 fast-import.c                                    |  141 +++++-
 notes.c                                          |  345 ++++++++++----
 notes.h                                          |  114 ++++-
 pretty.c                                         |    9 +-
 t/t9300-fast-import.sh                           |  156 ++++++-
 t/t9301-fast-import-notes.sh                     |  578 ++++++++++++++++++++++
 t/{t9301-fast-export.sh => t9350-fast-export.sh} |    0
 7 files changed, 1218 insertions(+), 125 deletions(-)
 create mode 100755 t/t9301-fast-import-notes.sh
 rename t/{t9301-fast-export.sh => t9350-fast-export.sh} (100%)
Next: Johan Herland
Message 1 of 15 in “[RFC/PATCHv9 00/11] git notes”
  1. Johan HerlandDec 2, 2009
  2. 01/11 fast-import: Proper notes tree manipulationJohan Herland, Dec 2, 2009
  3. Shawn O. PearceDec 2, 2009
  4. Johan HerlandDec 2, 2009
  5. Johan HerlandDec 3, 2009
  6. 02/11 Rename t9301 to t9350, to make room for more fast-import testsJohan Herland, Dec 2, 2009
  7. 03/11 Add more testcases to test fast-import of notesJohan Herland, Dec 2, 2009
  8. 04/11 Minor style fixes to notes.cJohan Herland, Dec 2, 2009
  9. 05/11 Notes API: get_commit_notes() -> format_note() + remove the commit restrictionJohan Herland, Dec 2, 2009
  10. 06/11 Notes API: init_notes(): Initialize the notes tree from the given notes refJohan Herland, Dec 2, 2009
  11. 07/11 Notes API: add_note(): Add note objects to the internal notes tree structureJohan Herland, Dec 2, 2009
  12. 08/11 Notes API: get_note(): Return the note annotating the given objectJohan Herland, Dec 2, 2009
  13. 09/11 Notes API: for_each_note(): Traverse the entire notes tree with a callbackJohan Herland, Dec 2, 2009
  14. 10/11 Notes API: Allow multiple concurrent notes trees with new struct notes_treeJohan Herland, Dec 2, 2009
  15. 11/11 Refactor notes concatenation into a flexible interface for combining notesJohan Herland, Dec 2, 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.