log --decorate: Colorize commit decorations
[gitweb.git] / notes.c
diff --git a/notes.c b/notes.c
index 0261e7898a5ed6412f92a614818f75c53253b280..6ee04e79e903901db3594feae69ceca4374994e2 100644 (file)
--- a/notes.c
+++ b/notes.c
@@ -629,8 +629,8 @@ static void write_tree_entry(struct strbuf *buf, unsigned int mode,
                const char *path, unsigned int path_len, const
                unsigned char *sha1)
 {
-               strbuf_addf(buf, "%06o %.*s%c", mode, path_len, path, '\0');
-               strbuf_add(buf, sha1, 20);
+       strbuf_addf(buf, "%o %.*s%c", mode, path_len, path, '\0');
+       strbuf_add(buf, sha1, 20);
 }
 
 static void tree_write_stack_init_subtree(struct tree_write_stack *tws,
@@ -1031,7 +1031,7 @@ void remove_note(struct notes_tree *t, const unsigned char *object_sha1)
        t->dirty = 1;
        hashcpy(l.key_sha1, object_sha1);
        hashclr(l.val_sha1);
-       return note_tree_remove(t, t->root, 0, &l);
+       note_tree_remove(t, t->root, 0, &l);
 }
 
 const unsigned char *get_note(struct notes_tree *t,
@@ -1083,7 +1083,7 @@ int write_notes_tree(struct notes_tree *t, unsigned char *result)
        return ret;
 }
 
-void prune_notes(struct notes_tree *t)
+void prune_notes(struct notes_tree *t, int flags)
 {
        struct note_delete_list *l = NULL;
 
@@ -1094,7 +1094,10 @@ void prune_notes(struct notes_tree *t)
        for_each_note(t, 0, prune_notes_helper, &l);
 
        while (l) {
-               remove_note(t, l->sha1);
+               if (flags & NOTES_PRUNE_VERBOSE)
+                       printf("%s\n", sha1_to_hex(l->sha1));
+               if (!(flags & NOTES_PRUNE_DRYRUN))
+                       remove_note(t, l->sha1);
                l = l->next;
        }
 }