[RFC/PATCHv8 00/10] git notes
From: Johan Herland <hidden>
Date: 2016-06-15 22:47:44
Hi,
Here is the 8th iteration of the git-notes series. Changes in this
iteration are as follows:
Changes to existing patches:
- Rebased onto current 'next', dropping the early part of this series
which has now been merged to 'next'.
- Patch 8 (was patch 22): Major rewrite of fast-import's notes handling
code based on comments from Shawn.
New patches:
- Patch 9: Rename t9301 to t9350, to make room for more fast-import tests
- Patch 10: More fast-import tests
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 (10):
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: Proper notes tree manipulation using the notes API
Rename t9301 to t9350, to make room for more fast-import tests
Add more testcases to test fast-import of notes
fast-import.c | 297 +++++++++++-
notes.c | 336 +++++++++----
notes.h | 114 ++++-
pretty.c | 8 +-
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, 1370 insertions(+), 119 deletions(-)
create mode 100755 t/t9301-fast-import-notes.sh
rename t/{t9301-fast-export.sh => t9350-fast-export.sh} (100%)