Merge branch 'ma/bisect-leakfix'
[git/git.git] / bisect.h
1 #ifndef BISECT_H
2 #define BISECT_H
3
4 /*
5 * Find bisection. If something is found, `reaches` will be the number of
6 * commits that the best commit reaches. `all` will be the count of
7 * non-SAMETREE commits. If nothing is found, `list` will be NULL.
8 * Otherwise, it will be either all non-SAMETREE commits or the single
9 * best commit, as chosen by `find_all`.
10 */
11 extern void find_bisection(struct commit_list **list, int *reaches, int *all,
12 int find_all);
13
14 extern struct commit_list *filter_skipped(struct commit_list *list,
15 struct commit_list **tried,
16 int show_all,
17 int *count,
18 int *skipped_first);
19
20 #define BISECT_SHOW_ALL (1<<0)
21 #define REV_LIST_QUIET (1<<1)
22
23 struct rev_list_info {
24 struct rev_info *revs;
25 int flags;
26 int show_timestamp;
27 int hdr_termination;
28 const char *header_prefix;
29 };
30
31 extern int bisect_next_all(const char *prefix, int no_checkout);
32
33 extern int estimate_bisect_steps(int all);
34
35 extern void read_bisect_terms(const char **bad, const char **good);
36
37 extern int bisect_clean_state(void);
38
39 #endif