summaryrefslogtreecommitdiffabout
path: root/cgit.h
authorLars Hjemli <hjemli@gmail.com>2007-05-18 11:55:52 (UTC)
committer Lars Hjemli <hjemli@gmail.com>2007-05-18 11:55:52 (UTC)
commite189344a7dfe6fa1b07434d5170e6441dcbaf788 (patch) (unidiff)
treef1500b97f95a710dba27469510114388be435d01 /cgit.h
parentc1ad6cb77889880ad0189a689840fbfa6e5cbc80 (diff)
downloadcgit-e189344a7dfe6fa1b07434d5170e6441dcbaf788.zip
cgit-e189344a7dfe6fa1b07434d5170e6441dcbaf788.tar.gz
cgit-e189344a7dfe6fa1b07434d5170e6441dcbaf788.tar.bz2
Add knobs to enable/disable files/lines changed in log view
These columns can cause lots of IO on the server, so add settings to explicitly enable them. Also, add per repo settings to optionally disable the columns if sitewide enabled. While at it, do not allow repo.snapshot to enable snapshots if the global setting is disabled. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
Diffstat (limited to 'cgit.h') (more/less context) (ignore whitespace changes)
-rw-r--r--cgit.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/cgit.h b/cgit.h
index 290401f..ed100a7 100644
--- a/cgit.h
+++ b/cgit.h
@@ -1,131 +1,135 @@
1#ifndef CGIT_H 1#ifndef CGIT_H
2#define CGIT_H 2#define CGIT_H
3 3
4 4
5#include <git-compat-util.h> 5#include <git-compat-util.h>
6#include <cache.h> 6#include <cache.h>
7#include <grep.h> 7#include <grep.h>
8#include <object.h> 8#include <object.h>
9#include <tree.h> 9#include <tree.h>
10#include <commit.h> 10#include <commit.h>
11#include <tag.h> 11#include <tag.h>
12#include <diff.h> 12#include <diff.h>
13#include <diffcore.h> 13#include <diffcore.h>
14#include <refs.h> 14#include <refs.h>
15#include <revision.h> 15#include <revision.h>
16#include <log-tree.h> 16#include <log-tree.h>
17#include <archive.h> 17#include <archive.h>
18#include <xdiff/xdiff.h> 18#include <xdiff/xdiff.h>
19 19
20 20
21typedef void (*configfn)(const char *name, const char *value); 21typedef void (*configfn)(const char *name, const char *value);
22typedef void (*filepair_fn)(struct diff_filepair *pair); 22typedef void (*filepair_fn)(struct diff_filepair *pair);
23typedef void (*linediff_fn)(char *line, int len); 23typedef void (*linediff_fn)(char *line, int len);
24 24
25struct cacheitem { 25struct cacheitem {
26 char *name; 26 char *name;
27 struct stat st; 27 struct stat st;
28 int ttl; 28 int ttl;
29 int fd; 29 int fd;
30}; 30};
31 31
32struct repoinfo { 32struct repoinfo {
33 char *url; 33 char *url;
34 char *name; 34 char *name;
35 char *path; 35 char *path;
36 char *desc; 36 char *desc;
37 char *owner; 37 char *owner;
38 char *defbranch; 38 char *defbranch;
39 char *module_link; 39 char *module_link;
40 int snapshots; 40 int snapshots;
41 int enable_log_filecount;
42 int enable_log_linecount;
41}; 43};
42 44
43struct repolist { 45struct repolist {
44 int length; 46 int length;
45 int count; 47 int count;
46 struct repoinfo *repos; 48 struct repoinfo *repos;
47}; 49};
48 50
49struct commitinfo { 51struct commitinfo {
50 struct commit *commit; 52 struct commit *commit;
51 char *author; 53 char *author;
52 char *author_email; 54 char *author_email;
53 unsigned long author_date; 55 unsigned long author_date;
54 char *committer; 56 char *committer;
55 char *committer_email; 57 char *committer_email;
56 unsigned long committer_date; 58 unsigned long committer_date;
57 char *subject; 59 char *subject;
58 char *msg; 60 char *msg;
59}; 61};
60 62
61struct taginfo { 63struct taginfo {
62 char *tagger; 64 char *tagger;
63 char *tagger_email; 65 char *tagger_email;
64 int tagger_date; 66 int tagger_date;
65 char *msg; 67 char *msg;
66}; 68};
67 69
68extern const char cgit_version[]; 70extern const char cgit_version[];
69 71
70extern struct repolist cgit_repolist; 72extern struct repolist cgit_repolist;
71extern struct repoinfo *cgit_repo; 73extern struct repoinfo *cgit_repo;
72 74
73extern char *cgit_root_title; 75extern char *cgit_root_title;
74extern char *cgit_css; 76extern char *cgit_css;
75extern char *cgit_logo; 77extern char *cgit_logo;
76extern char *cgit_logo_link; 78extern char *cgit_logo_link;
77extern char *cgit_module_link; 79extern char *cgit_module_link;
78extern char *cgit_virtual_root; 80extern char *cgit_virtual_root;
79extern char *cgit_script_name; 81extern char *cgit_script_name;
80extern char *cgit_cache_root; 82extern char *cgit_cache_root;
81 83
82extern int cgit_nocache; 84extern int cgit_nocache;
83extern int cgit_snapshots; 85extern int cgit_snapshots;
86extern int cgit_enable_log_filecount;
87extern int cgit_enable_log_linecount;
84extern int cgit_max_lock_attempts; 88extern int cgit_max_lock_attempts;
85extern int cgit_cache_root_ttl; 89extern int cgit_cache_root_ttl;
86extern int cgit_cache_repo_ttl; 90extern int cgit_cache_repo_ttl;
87extern int cgit_cache_dynamic_ttl; 91extern int cgit_cache_dynamic_ttl;
88extern int cgit_cache_static_ttl; 92extern int cgit_cache_static_ttl;
89extern int cgit_cache_max_create_time; 93extern int cgit_cache_max_create_time;
90 94
91extern int cgit_max_msg_len; 95extern int cgit_max_msg_len;
92extern int cgit_max_repodesc_len; 96extern int cgit_max_repodesc_len;
93extern int cgit_max_commit_count; 97extern int cgit_max_commit_count;
94 98
95extern char *cgit_repo_name; 99extern char *cgit_repo_name;
96extern char *cgit_repo_desc; 100extern char *cgit_repo_desc;
97extern char *cgit_repo_owner; 101extern char *cgit_repo_owner;
98 102
99extern int cgit_query_has_symref; 103extern int cgit_query_has_symref;
100extern int cgit_query_has_sha1; 104extern int cgit_query_has_sha1;
101 105
102extern char *cgit_querystring; 106extern char *cgit_querystring;
103extern char *cgit_query_repo; 107extern char *cgit_query_repo;
104extern char *cgit_query_page; 108extern char *cgit_query_page;
105extern char *cgit_query_search; 109extern char *cgit_query_search;
106extern char *cgit_query_head; 110extern char *cgit_query_head;
107extern char *cgit_query_sha1; 111extern char *cgit_query_sha1;
108extern char *cgit_query_sha2; 112extern char *cgit_query_sha2;
109extern char *cgit_query_path; 113extern char *cgit_query_path;
110extern char *cgit_query_name; 114extern char *cgit_query_name;
111extern int cgit_query_ofs; 115extern int cgit_query_ofs;
112 116
113extern int htmlfd; 117extern int htmlfd;
114 118
115extern void cgit_global_config_cb(const char *name, const char *value); 119extern void cgit_global_config_cb(const char *name, const char *value);
116extern void cgit_repo_config_cb(const char *name, const char *value); 120extern void cgit_repo_config_cb(const char *name, const char *value);
117extern void cgit_querystring_cb(const char *name, const char *value); 121extern void cgit_querystring_cb(const char *name, const char *value);
118 122
119extern int chk_zero(int result, char *msg); 123extern int chk_zero(int result, char *msg);
120extern int chk_positive(int result, char *msg); 124extern int chk_positive(int result, char *msg);
121 125
122extern int hextoint(char c); 126extern int hextoint(char c);
123 127
124extern void *cgit_free_commitinfo(struct commitinfo *info); 128extern void *cgit_free_commitinfo(struct commitinfo *info);
125 129
126extern int cgit_diff_files(const unsigned char *old_sha1, 130extern int cgit_diff_files(const unsigned char *old_sha1,
127 const unsigned char *new_sha1, 131 const unsigned char *new_sha1,
128 linediff_fn fn); 132 linediff_fn fn);
129 133
130extern void cgit_diff_tree(const unsigned char *old_sha1, 134extern void cgit_diff_tree(const unsigned char *old_sha1,
131 const unsigned char *new_sha1, 135 const unsigned char *new_sha1,