Merge branch 'jt/long-running-process-doc'
[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