blob: 9eaf4de844950017a947df7efbcceaf9f0d9feb5 [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 *);
Junio C Hamano8d1d8f82006-09-06 01:42:23 -070010
Junio C Hamano49473672011-09-01 15:43:33 -070011typedef void (*show_edge_fn)(struct commit *);
Derrick Stolee4f6d26b2019-01-16 10:25:58 -080012void mark_edges_uninteresting(struct rev_info *revs,
13 show_edge_fn show_edge,
14 int sparse);
Junio C Hamanoc64ed702006-09-04 21:50:12 -070015
Jeff Hostetler25ec7bc2017-11-21 20:58:50 +000016struct oidset;
17struct list_objects_filter_options;
18
19void traverse_commit_list_filtered(
Jeff Hostetler25ec7bc2017-11-21 20:58:50 +000020 struct rev_info *revs,
21 show_commit_fn show_commit,
22 show_object_fn show_object,
23 void *show_data,
24 struct oidset *omitted);
25
Derrick Stolee3e0370a2022-03-09 16:01:36 +000026static inline void traverse_commit_list(
27 struct rev_info *revs,
28 show_commit_fn show_commit,
29 show_object_fn show_object,
30 void *show_data)
31{
32 traverse_commit_list_filtered(revs, show_commit,
33 show_object, show_data, NULL);
34}
35
Jeff Hostetler25ec7bc2017-11-21 20:58:50 +000036#endif /* LIST_OBJECTS_H */