blob: a952680e46671db2543bc4abff78a2d898cd1408 [file] [log] [blame]
Junio C Hamanoc64ed702006-09-04 21:50:12 -07001#ifndef LIST_OBJECTS_H
2#define LIST_OBJECTS_H
3
Elijah Newrenef3ca952018-08-15 10:54:05 -07004struct commit;
5struct object;
6struct rev_info;
7
Christian Couder11c211f2009-04-06 21:28:36 +02008typedef void (*show_commit_fn)(struct commit *, void *);
Jeff Kingde1e67d2016-02-11 17:28:36 -05009typedef void (*show_object_fn)(struct object *, const char *, void *);
Christian Couder11c211f2009-04-06 21:28:36 +020010void traverse_commit_list(struct rev_info *, show_commit_fn, show_object_fn, void *);
Junio C Hamano8d1d8f82006-09-06 01:42:23 -070011
Junio C Hamano49473672011-09-01 15:43:33 -070012typedef void (*show_edge_fn)(struct commit *);
Derrick Stolee4f6d26b2019-01-16 10:25:58 -080013void mark_edges_uninteresting(struct rev_info *revs,
14 show_edge_fn show_edge,
15 int sparse);
Junio C Hamanoc64ed702006-09-04 21:50:12 -070016
Jeff Hostetler25ec7bc2017-11-21 20:58:50 +000017struct oidset;
18struct list_objects_filter_options;
19
20void traverse_commit_list_filtered(
21 struct list_objects_filter_options *filter_options,
22 struct rev_info *revs,
23 show_commit_fn show_commit,
24 show_object_fn show_object,
25 void *show_data,
26 struct oidset *omitted);
27
28#endif /* LIST_OBJECTS_H */