summaryrefslogtreecommitdiffstats
path: root/list-objects.h
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--list-objects.h36
1 files changed, 36 insertions, 0 deletions
diff --git a/list-objects.h b/list-objects.h
new file mode 100644
index 0000000..9eaf4de
--- /dev/null
+++ b/list-objects.h
@@ -0,0 +1,36 @@
+#ifndef LIST_OBJECTS_H
+#define LIST_OBJECTS_H
+
+struct commit;
+struct object;
+struct rev_info;
+
+typedef void (*show_commit_fn)(struct commit *, void *);
+typedef void (*show_object_fn)(struct object *, const char *, void *);
+
+typedef void (*show_edge_fn)(struct commit *);
+void mark_edges_uninteresting(struct rev_info *revs,
+ show_edge_fn show_edge,
+ int sparse);
+
+struct oidset;
+struct list_objects_filter_options;
+
+void traverse_commit_list_filtered(
+ struct rev_info *revs,
+ show_commit_fn show_commit,
+ show_object_fn show_object,
+ void *show_data,
+ struct oidset *omitted);
+
+static inline void traverse_commit_list(
+ struct rev_info *revs,
+ show_commit_fn show_commit,
+ show_object_fn show_object,
+ void *show_data)
+{
+ traverse_commit_list_filtered(revs, show_commit,
+ show_object, show_data, NULL);
+}
+
+#endif /* LIST_OBJECTS_H */