summaryrefslogtreecommitdiff
path: root/userdiff.c
diff options
context:
space:
mode:
authorJohan Herland <johan@herland.net>2010-02-13 22:28:27 +0100
committerJunio C Hamano <gitster@pobox.com>2010-02-13 19:36:14 -0800
commit00fbe63627b72c807e558643f0634e435137122f (patch)
treef3adebf65ff12fafffcd7a79d1deff3e88801850 /userdiff.c
parentb0032d1e06e4a53d908309fce6ad3c5f5a3559a3 (diff)
downloadgit-00fbe63627b72c807e558643f0634e435137122f.tar.gz
Notes API: prune_notes(): Prune notes that belong to non-existing objects
When an object is made unreachable by Git, any notes that annotate that object are not automagically made unreachable, since all notes are always trivially reachable from a notes ref. In order to remove notes for non-existing objects, we therefore need to add functionality for traversing the notes tree and explicitly removing references to notes that annotate non-reachable objects. Thus the notes objects themselves also become unreachable, and are removed by a later garbage collect. prune_notes() performs this traversal (by using for_each_note() internally), and removes the notes in question from the notes tree. Note that the effect of prune_notes() is not persistent unless a subsequent call to write_notes_tree() is made. Signed-off-by: Johan Herland <johan@herland.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'userdiff.c')
0 files changed, 0 insertions, 0 deletions