Raw
1 #ifndef LOG_TREE_H
2 #define LOG_TREE_H
3
4 #include "color.h"
5
6 struct rev_info;
7
8 struct log_info {
9 struct commit *commit, *parent;
10 };
11
12 struct decoration_filter {
13 struct string_list *include_ref_pattern;
14 struct string_list *exclude_ref_pattern;
15 struct string_list *exclude_ref_config_pattern;
16 };
17
18 struct decoration_options {
19 char *prefix;
20 char *suffix;
21 char *separator;
22 char *pointer;
23 char *tag;
24 };
25
26 int parse_decorate_color_config(const char *var, const char *slot_name, const char *value);
27 int log_tree_diff_flush(struct rev_info *);
28 int log_tree_commit(struct rev_info *, struct commit *);
29 void release_follow_pathspec_slab(struct rev_info *);
30 void show_log(struct rev_info *opt);
31 void format_decorations(struct strbuf *sb, const struct commit *commit,
32 enum git_colorbool use_color, const struct decoration_options *opts);
33 void show_decorations(struct rev_info *opt, struct commit *commit);
34 void log_write_email_headers(struct rev_info *opt, struct commit *commit,
35 char **extra_headers_p,
36 int *need_8bit_cte_p,
37 int maybe_multipart);
38 void load_ref_decorations(struct decoration_filter *filter, int flags);
39 void load_branch_decorations(void);
40
41 void fmt_output_commit(struct strbuf *, struct commit *, struct rev_info *);
42 void fmt_output_subject(struct strbuf *, const char *subject, struct rev_info *);
43 void fmt_output_email_subject(struct strbuf *, struct rev_info *);
44
45 #endif