summaryrefslogtreecommitdiff
path: root/shortlog.h
blob: 28d04f951af73d8f9bdf58f6100a5eb3fe51b72c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#ifndef SHORTLOG_H
#define SHORTLOG_H

#include "string-list.h"
#include "date.h"

struct commit;

struct shortlog {
	struct string_list list;
	int summary;
	int wrap_lines;
	int sort_by_number;
	int wrap;
	int in1;
	int in2;
	int user_format;
	int abbrev;
	struct date_mode date_mode;

	enum {
		SHORTLOG_GROUP_AUTHOR = (1 << 0),
		SHORTLOG_GROUP_COMMITTER = (1 << 1),
		SHORTLOG_GROUP_TRAILER = (1 << 2),
		SHORTLOG_GROUP_FORMAT = (1 << 3),
	} groups;
	struct string_list trailers;
	struct string_list format;

	int email;
	struct string_list mailmap;
	FILE *file;
};

void shortlog_init(struct shortlog *log);
void shortlog_finish_setup(struct shortlog *log);

void shortlog_add_commit(struct shortlog *log, struct commit *commit);

void shortlog_output(struct shortlog *log);

#endif