summaryrefslogtreecommitdiffabout
path: root/cgit.c
authorLars Hjemli <hjemli@gmail.com>2007-05-13 15:15:06 (UTC)
committer Lars Hjemli <hjemli@gmail.com>2007-05-13 15:15:06 (UTC)
commitc6cf3a424a0860d69b290254d9b19d35527b2d27 (patch) (unidiff)
tree2874f2c42e907cba1187ae32ee686daebc2de59e /cgit.c
parent80e577c3ef2a73becabff7e9c9c242f317a87de9 (diff)
downloadcgit-c6cf3a424a0860d69b290254d9b19d35527b2d27.zip
cgit-c6cf3a424a0860d69b290254d9b19d35527b2d27.tar.gz
cgit-c6cf3a424a0860d69b290254d9b19d35527b2d27.tar.bz2
Add max-commit-count parameter to cgitrc
This enabled customizing number of commits shown per page in log view. It also changes the default from 100 to 50, mainly due to the more cpu intensive log pages (number of files/lines changed) but also since 100 log messages requires excessive scrolling. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
Diffstat (limited to 'cgit.c') (more/less context) (ignore whitespace changes)
-rw-r--r--cgit.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/cgit.c b/cgit.c
index 28bab8d..aee7ba3 100644
--- a/cgit.c
+++ b/cgit.c
@@ -62,98 +62,98 @@ static int cgit_prepare_cache(struct cacheitem *item)
62 62
63static void cgit_print_repo_page(struct cacheitem *item) 63static void cgit_print_repo_page(struct cacheitem *item)
64{ 64{
65 char *title; 65 char *title;
66 int show_search; 66 int show_search;
67 67
68 if (chdir(cgit_repo->path)) { 68 if (chdir(cgit_repo->path)) {
69 title = fmt("%s - %s", cgit_root_title, "Bad request"); 69 title = fmt("%s - %s", cgit_root_title, "Bad request");
70 cgit_print_docstart(title, item); 70 cgit_print_docstart(title, item);
71 cgit_print_pageheader(title, 0); 71 cgit_print_pageheader(title, 0);
72 cgit_print_error(fmt("Unable to scan repository: %s", 72 cgit_print_error(fmt("Unable to scan repository: %s",
73 strerror(errno))); 73 strerror(errno)));
74 cgit_print_docend(); 74 cgit_print_docend();
75 return; 75 return;
76 } 76 }
77 77
78 title = fmt("%s - %s", cgit_repo->name, cgit_repo->desc); 78 title = fmt("%s - %s", cgit_repo->name, cgit_repo->desc);
79 show_search = 0; 79 show_search = 0;
80 setenv("GIT_DIR", cgit_repo->path, 1); 80 setenv("GIT_DIR", cgit_repo->path, 1);
81 81
82 if (cgit_query_page) { 82 if (cgit_query_page) {
83 if (cgit_repo->snapshots && !strcmp(cgit_query_page, "snapshot")) { 83 if (cgit_repo->snapshots && !strcmp(cgit_query_page, "snapshot")) {
84 cgit_print_snapshot(item, cgit_query_sha1, "zip", 84 cgit_print_snapshot(item, cgit_query_sha1, "zip",
85 cgit_repo->url, cgit_query_name); 85 cgit_repo->url, cgit_query_name);
86 return; 86 return;
87 } 87 }
88 if (!strcmp(cgit_query_page, "blob")) { 88 if (!strcmp(cgit_query_page, "blob")) {
89 cgit_print_blob(item, cgit_query_sha1, cgit_query_path); 89 cgit_print_blob(item, cgit_query_sha1, cgit_query_path);
90 return; 90 return;
91 } 91 }
92 } 92 }
93 93
94 if (cgit_query_page && !strcmp(cgit_query_page, "log")) 94 if (cgit_query_page && !strcmp(cgit_query_page, "log"))
95 show_search = 1; 95 show_search = 1;
96 96
97 cgit_print_docstart(title, item); 97 cgit_print_docstart(title, item);
98 98
99 99
100 if (!cgit_query_page) { 100 if (!cgit_query_page) {
101 cgit_print_pageheader("summary", show_search); 101 cgit_print_pageheader("summary", show_search);
102 cgit_print_summary(); 102 cgit_print_summary();
103 cgit_print_docend(); 103 cgit_print_docend();
104 return; 104 return;
105 } 105 }
106 106
107 cgit_print_pageheader(cgit_query_page, show_search); 107 cgit_print_pageheader(cgit_query_page, show_search);
108 108
109 if (!strcmp(cgit_query_page, "log")) { 109 if (!strcmp(cgit_query_page, "log")) {
110 cgit_print_log(cgit_query_head, cgit_query_ofs, 100, 110 cgit_print_log(cgit_query_head, cgit_query_ofs,
111 cgit_query_search); 111 cgit_max_commit_count, cgit_query_search);
112 } else if (!strcmp(cgit_query_page, "tree")) { 112 } else if (!strcmp(cgit_query_page, "tree")) {
113 cgit_print_tree(cgit_query_sha1, cgit_query_path); 113 cgit_print_tree(cgit_query_sha1, cgit_query_path);
114 } else if (!strcmp(cgit_query_page, "commit")) { 114 } else if (!strcmp(cgit_query_page, "commit")) {
115 cgit_print_commit(cgit_query_sha1); 115 cgit_print_commit(cgit_query_sha1);
116 } else if (!strcmp(cgit_query_page, "view")) { 116 } else if (!strcmp(cgit_query_page, "view")) {
117 cgit_print_view(cgit_query_sha1, cgit_query_path); 117 cgit_print_view(cgit_query_sha1, cgit_query_path);
118 } else if (!strcmp(cgit_query_page, "diff")) { 118 } else if (!strcmp(cgit_query_page, "diff")) {
119 cgit_print_diff(cgit_query_sha1, cgit_query_sha2); 119 cgit_print_diff(cgit_query_sha1, cgit_query_sha2);
120 } else { 120 } else {
121 cgit_print_error("Invalid request"); 121 cgit_print_error("Invalid request");
122 } 122 }
123 cgit_print_docend(); 123 cgit_print_docend();
124} 124}
125 125
126static void cgit_fill_cache(struct cacheitem *item, int use_cache) 126static void cgit_fill_cache(struct cacheitem *item, int use_cache)
127{ 127{
128 static char buf[PATH_MAX]; 128 static char buf[PATH_MAX];
129 int stdout2; 129 int stdout2;
130 130
131 getcwd(buf, sizeof(buf)); 131 getcwd(buf, sizeof(buf));
132 item->st.st_mtime = time(NULL); 132 item->st.st_mtime = time(NULL);
133 133
134 if (use_cache) { 134 if (use_cache) {
135 stdout2 = chk_positive(dup(STDOUT_FILENO), 135 stdout2 = chk_positive(dup(STDOUT_FILENO),
136 "Preserving STDOUT"); 136 "Preserving STDOUT");
137 chk_zero(close(STDOUT_FILENO), "Closing STDOUT"); 137 chk_zero(close(STDOUT_FILENO), "Closing STDOUT");
138 chk_positive(dup2(item->fd, STDOUT_FILENO), "Dup2(cachefile)"); 138 chk_positive(dup2(item->fd, STDOUT_FILENO), "Dup2(cachefile)");
139 } 139 }
140 140
141 if (cgit_query_repo) 141 if (cgit_query_repo)
142 cgit_print_repo_page(item); 142 cgit_print_repo_page(item);
143 else 143 else
144 cgit_print_repolist(item); 144 cgit_print_repolist(item);
145 145
146 if (use_cache) { 146 if (use_cache) {
147 chk_zero(close(STDOUT_FILENO), "Close redirected STDOUT"); 147 chk_zero(close(STDOUT_FILENO), "Close redirected STDOUT");
148 chk_positive(dup2(stdout2, STDOUT_FILENO), 148 chk_positive(dup2(stdout2, STDOUT_FILENO),
149 "Restoring original STDOUT"); 149 "Restoring original STDOUT");
150 chk_zero(close(stdout2), "Closing temporary STDOUT"); 150 chk_zero(close(stdout2), "Closing temporary STDOUT");
151 } 151 }
152 152
153 chdir(buf); 153 chdir(buf);
154} 154}
155 155
156static void cgit_check_cache(struct cacheitem *item) 156static void cgit_check_cache(struct cacheitem *item)
157{ 157{
158 int i = 0; 158 int i = 0;
159 159