}
}
+ static void add_pending_tree(struct rev_info *revs, struct tree *tree)
+ {
+ add_pending_object(revs, &tree->object, "");
+ }
+
void traverse_commit_list(struct rev_info *revs,
show_commit_fn show_commit,
- show_object_fn show_object)
+ show_object_fn show_object,
+ void *data)
{
int i;
struct commit *commit;
- struct object_array objects = { 0, 0, NULL };
while ((commit = get_revision(revs)) != NULL) {
- process_tree(revs, commit->tree, &objects, NULL, "");
+ add_pending_tree(revs, commit->tree);
- show_commit(commit);
+ show_commit(commit, data);
}
for (i = 0; i < revs->pending.nr; i++) {
struct object_array_entry *pending = revs->pending.objects + i;
#ifndef LIST_OBJECTS_H
#define LIST_OBJECTS_H
-typedef void (*show_commit_fn)(struct commit *);
+typedef void (*show_commit_fn)(struct commit *, void *);
- typedef void (*show_object_fn)(struct object_array_entry *, void *);
+ typedef void (*show_object_fn)(struct object *, const struct name_path *, const char *);
typedef void (*show_edge_fn)(struct commit *);
-void traverse_commit_list(struct rev_info *revs, show_commit_fn, show_object_fn);
+void traverse_commit_list(struct rev_info *, show_commit_fn, show_object_fn, void *);
void mark_edges_uninteresting(struct commit_list *, struct rev_info *, show_edge_fn);