author | Lars Hjemli <hjemli@gmail.com> | 2009-08-09 11:22:00 (UTC) |
---|---|---|
committer | Lars Hjemli <hjemli@gmail.com> | 2009-08-09 11:22:00 (UTC) |
commit | e976df27952ca1e450c1c3d420532ac9f5e3036b (patch) (unidiff) | |
tree | 2634538f3144c935d1579315d4de289e6c890f19 /cgit.h | |
parent | f35db1cd2b75aac6952aa07713e44ca01fd89727 (diff) | |
download | cgit-e976df27952ca1e450c1c3d420532ac9f5e3036b.zip cgit-e976df27952ca1e450c1c3d420532ac9f5e3036b.tar.gz cgit-e976df27952ca1e450c1c3d420532ac9f5e3036b.tar.bz2 |
Add support for repo.commit-filter and repo.source-filter
These options can be used to override the default commit- and source-
filter settings per repository.
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
-rw-r--r-- | cgit.h | 20 |
1 files changed, 11 insertions, 9 deletions
@@ -27,64 +27,75 @@ | |||
27 | #define FMT_SHORTDATE "%Y-%m-%d" | 27 | #define FMT_SHORTDATE "%Y-%m-%d" |
28 | #define FMT_ATOMDATE "%Y-%m-%dT%H:%M:%SZ" | 28 | #define FMT_ATOMDATE "%Y-%m-%dT%H:%M:%SZ" |
29 | 29 | ||
30 | 30 | ||
31 | /* | 31 | /* |
32 | * Limits used for relative dates | 32 | * Limits used for relative dates |
33 | */ | 33 | */ |
34 | #define TM_MIN 60 | 34 | #define TM_MIN 60 |
35 | #define TM_HOUR (TM_MIN * 60) | 35 | #define TM_HOUR (TM_MIN * 60) |
36 | #define TM_DAY (TM_HOUR * 24) | 36 | #define TM_DAY (TM_HOUR * 24) |
37 | #define TM_WEEK (TM_DAY * 7) | 37 | #define TM_WEEK (TM_DAY * 7) |
38 | #define TM_YEAR (TM_DAY * 365) | 38 | #define TM_YEAR (TM_DAY * 365) |
39 | #define TM_MONTH (TM_YEAR / 12.0) | 39 | #define TM_MONTH (TM_YEAR / 12.0) |
40 | 40 | ||
41 | 41 | ||
42 | /* | 42 | /* |
43 | * Default encoding | 43 | * Default encoding |
44 | */ | 44 | */ |
45 | #define PAGE_ENCODING "UTF-8" | 45 | #define PAGE_ENCODING "UTF-8" |
46 | 46 | ||
47 | typedef void (*configfn)(const char *name, const char *value); | 47 | typedef void (*configfn)(const char *name, const char *value); |
48 | typedef void (*filepair_fn)(struct diff_filepair *pair); | 48 | typedef void (*filepair_fn)(struct diff_filepair *pair); |
49 | typedef void (*linediff_fn)(char *line, int len); | 49 | typedef void (*linediff_fn)(char *line, int len); |
50 | 50 | ||
51 | struct cgit_filter { | ||
52 | char *cmd; | ||
53 | char **argv; | ||
54 | int old_stdout; | ||
55 | int pipe_fh[2]; | ||
56 | int pid; | ||
57 | int exitstatus; | ||
58 | }; | ||
59 | |||
51 | struct cgit_repo { | 60 | struct cgit_repo { |
52 | char *url; | 61 | char *url; |
53 | char *name; | 62 | char *name; |
54 | char *path; | 63 | char *path; |
55 | char *desc; | 64 | char *desc; |
56 | char *owner; | 65 | char *owner; |
57 | char *defbranch; | 66 | char *defbranch; |
58 | char *group; | 67 | char *group; |
59 | char *module_link; | 68 | char *module_link; |
60 | char *readme; | 69 | char *readme; |
61 | char *clone_url; | 70 | char *clone_url; |
62 | int snapshots; | 71 | int snapshots; |
63 | int enable_log_filecount; | 72 | int enable_log_filecount; |
64 | int enable_log_linecount; | 73 | int enable_log_linecount; |
65 | int max_stats; | 74 | int max_stats; |
66 | time_t mtime; | 75 | time_t mtime; |
76 | struct cgit_filter *commit_filter; | ||
77 | struct cgit_filter *source_filter; | ||
67 | }; | 78 | }; |
68 | 79 | ||
69 | struct cgit_repolist { | 80 | struct cgit_repolist { |
70 | int length; | 81 | int length; |
71 | int count; | 82 | int count; |
72 | struct cgit_repo *repos; | 83 | struct cgit_repo *repos; |
73 | }; | 84 | }; |
74 | 85 | ||
75 | struct commitinfo { | 86 | struct commitinfo { |
76 | struct commit *commit; | 87 | struct commit *commit; |
77 | char *author; | 88 | char *author; |
78 | char *author_email; | 89 | char *author_email; |
79 | unsigned long author_date; | 90 | unsigned long author_date; |
80 | char *committer; | 91 | char *committer; |
81 | char *committer_email; | 92 | char *committer_email; |
82 | unsigned long committer_date; | 93 | unsigned long committer_date; |
83 | char *subject; | 94 | char *subject; |
84 | char *msg; | 95 | char *msg; |
85 | char *msg_encoding; | 96 | char *msg_encoding; |
86 | }; | 97 | }; |
87 | 98 | ||
88 | struct taginfo { | 99 | struct taginfo { |
89 | char *tagger; | 100 | char *tagger; |
90 | char *tagger_email; | 101 | char *tagger_email; |
@@ -108,57 +119,48 @@ struct reflist { | |||
108 | }; | 119 | }; |
109 | 120 | ||
110 | struct cgit_query { | 121 | struct cgit_query { |
111 | int has_symref; | 122 | int has_symref; |
112 | int has_sha1; | 123 | int has_sha1; |
113 | char *raw; | 124 | char *raw; |
114 | char *repo; | 125 | char *repo; |
115 | char *page; | 126 | char *page; |
116 | char *search; | 127 | char *search; |
117 | char *grep; | 128 | char *grep; |
118 | char *head; | 129 | char *head; |
119 | char *sha1; | 130 | char *sha1; |
120 | char *sha2; | 131 | char *sha2; |
121 | char *path; | 132 | char *path; |
122 | char *name; | 133 | char *name; |
123 | char *mimetype; | 134 | char *mimetype; |
124 | char *url; | 135 | char *url; |
125 | char *period; | 136 | char *period; |
126 | int ofs; | 137 | int ofs; |
127 | int nohead; | 138 | int nohead; |
128 | char *sort; | 139 | char *sort; |
129 | int showmsg; | 140 | int showmsg; |
130 | }; | 141 | }; |
131 | 142 | ||
132 | struct cgit_filter { | ||
133 | char *cmd; | ||
134 | char **argv; | ||
135 | int old_stdout; | ||
136 | int pipe_fh[2]; | ||
137 | int pid; | ||
138 | int exitstatus; | ||
139 | }; | ||
140 | |||
141 | struct cgit_config { | 143 | struct cgit_config { |
142 | char *agefile; | 144 | char *agefile; |
143 | char *cache_root; | 145 | char *cache_root; |
144 | char *clone_prefix; | 146 | char *clone_prefix; |
145 | char *css; | 147 | char *css; |
146 | char *favicon; | 148 | char *favicon; |
147 | char *footer; | 149 | char *footer; |
148 | char *head_include; | 150 | char *head_include; |
149 | char *header; | 151 | char *header; |
150 | char *index_header; | 152 | char *index_header; |
151 | char *index_info; | 153 | char *index_info; |
152 | char *logo; | 154 | char *logo; |
153 | char *logo_link; | 155 | char *logo_link; |
154 | char *module_link; | 156 | char *module_link; |
155 | char *repo_group; | 157 | char *repo_group; |
156 | char *robots; | 158 | char *robots; |
157 | char *root_title; | 159 | char *root_title; |
158 | char *root_desc; | 160 | char *root_desc; |
159 | char *root_readme; | 161 | char *root_readme; |
160 | char *script_name; | 162 | char *script_name; |
161 | char *virtual_root; | 163 | char *virtual_root; |
162 | int cache_size; | 164 | int cache_size; |
163 | int cache_dynamic_ttl; | 165 | int cache_dynamic_ttl; |
164 | int cache_max_create_time; | 166 | int cache_max_create_time; |