t0027: Tests for core.eol=native, eol=lf, eol=crlf
[gitweb.git] / list-objects.c
index 8b39b50c22f6a83f700313790d0b94ced71d35bb..3595ee7a22c4d6099ea9b995ffe1c61c60bb77cd 100644 (file)
@@ -81,8 +81,11 @@ static void process_tree(struct rev_info *revs,
                die("bad tree object");
        if (obj->flags & (UNINTERESTING | SEEN))
                return;
-       if (parse_tree(tree) < 0)
+       if (parse_tree(tree) < 0) {
+               if (revs->ignore_missing_links)
+                       return;
                die("bad tree object %s", sha1_to_hex(obj->sha1));
+       }
        obj->flags |= SEEN;
        show(obj, path, name, cb_data);
        me.up = path;
@@ -123,8 +126,7 @@ static void process_tree(struct rev_info *revs,
                                     cb_data);
        }
        strbuf_setlen(base, baselen);
-       free(tree->buffer);
-       tree->buffer = NULL;
+       free_tree_buffer(tree);
 }
 
 static void mark_edge_parents_uninteresting(struct commit *commit,