1#ifndef LOG_TREE_H
2#define LOG_TREE_H
3
4#include "revision.h"
5
6struct log_info {
7 struct commit *commit, *parent;
8};
9
10struct decoration_filter {
11 struct string_list *include_ref_pattern, *exclude_ref_pattern;
12};
13
14int parse_decorate_color_config(const char *var, const char *slot_name, const char *value);
15void init_log_tree_opt(struct rev_info *);
16int log_tree_diff_flush(struct rev_info *);
17int log_tree_commit(struct rev_info *, struct commit *);
18int log_tree_opt_parse(struct rev_info *, const char **, int);
19void show_log(struct rev_info *opt);
20void format_decorations_extended(struct strbuf *sb, const struct commit *commit,
21 int use_color,
22 const char *prefix,
23 const char *separator,
24 const char *suffix);
25#define format_decorations(strbuf, commit, color) \
26 format_decorations_extended((strbuf), (commit), (color), " (", ", ", ")")
27void show_decorations(struct rev_info *opt, struct commit *commit);
28void log_write_email_headers(struct rev_info *opt, struct commit *commit,
29 const char **extra_headers_p,
30 int *need_8bit_cte_p);
31void load_ref_decorations(struct decoration_filter *filter, int flags);
32
33#define FORMAT_PATCH_NAME_MAX 64
34void fmt_output_commit(struct strbuf *, struct commit *, struct rev_info *);
35void fmt_output_subject(struct strbuf *, const char *subject, struct rev_info *);
36void fmt_output_email_subject(struct strbuf *, struct rev_info *);
37
38#endif