summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--cgit.c1
-rw-r--r--cgit.h1
2 files changed, 2 insertions, 0 deletions
diff --git a/cgit.c b/cgit.c
index 5a93fcd..c82587b 100644
--- a/cgit.c
+++ b/cgit.c
@@ -233,48 +233,49 @@ char *find_default_branch(struct cgit_repo *repo)
233 233
234static int prepare_repo_cmd(struct cgit_context *ctx) 234static int prepare_repo_cmd(struct cgit_context *ctx)
235{ 235{
236 char *tmp; 236 char *tmp;
237 unsigned char sha1[20]; 237 unsigned char sha1[20];
238 int nongit = 0; 238 int nongit = 0;
239 239
240 setenv("GIT_DIR", ctx->repo->path, 1); 240 setenv("GIT_DIR", ctx->repo->path, 1);
241 setup_git_directory_gently(&nongit); 241 setup_git_directory_gently(&nongit);
242 if (nongit) { 242 if (nongit) {
243 ctx->page.title = fmt("%s - %s", ctx->cfg.root_title, 243 ctx->page.title = fmt("%s - %s", ctx->cfg.root_title,
244 "config error"); 244 "config error");
245 tmp = fmt("Not a git repository: '%s'", ctx->repo->path); 245 tmp = fmt("Not a git repository: '%s'", ctx->repo->path);
246 ctx->repo = NULL; 246 ctx->repo = NULL;
247 cgit_print_http_headers(ctx); 247 cgit_print_http_headers(ctx);
248 cgit_print_docstart(ctx); 248 cgit_print_docstart(ctx);
249 cgit_print_pageheader(ctx); 249 cgit_print_pageheader(ctx);
250 cgit_print_error(tmp); 250 cgit_print_error(tmp);
251 cgit_print_docend(); 251 cgit_print_docend();
252 return 1; 252 return 1;
253 } 253 }
254 ctx->page.title = fmt("%s - %s", ctx->repo->name, ctx->repo->desc); 254 ctx->page.title = fmt("%s - %s", ctx->repo->name, ctx->repo->desc);
255 255
256 if (!ctx->qry.head) { 256 if (!ctx->qry.head) {
257 ctx->qry.nohead = 1;
257 ctx->qry.head = find_default_branch(ctx->repo); 258 ctx->qry.head = find_default_branch(ctx->repo);
258 ctx->repo->defbranch = ctx->qry.head; 259 ctx->repo->defbranch = ctx->qry.head;
259 } 260 }
260 261
261 if (!ctx->qry.head) { 262 if (!ctx->qry.head) {
262 cgit_print_http_headers(ctx); 263 cgit_print_http_headers(ctx);
263 cgit_print_docstart(ctx); 264 cgit_print_docstart(ctx);
264 cgit_print_pageheader(ctx); 265 cgit_print_pageheader(ctx);
265 cgit_print_error("Repository seems to be empty"); 266 cgit_print_error("Repository seems to be empty");
266 cgit_print_docend(); 267 cgit_print_docend();
267 return 1; 268 return 1;
268 } 269 }
269 270
270 if (get_sha1(ctx->qry.head, sha1)) { 271 if (get_sha1(ctx->qry.head, sha1)) {
271 tmp = xstrdup(ctx->qry.head); 272 tmp = xstrdup(ctx->qry.head);
272 ctx->qry.head = ctx->repo->defbranch; 273 ctx->qry.head = ctx->repo->defbranch;
273 cgit_print_http_headers(ctx); 274 cgit_print_http_headers(ctx);
274 cgit_print_docstart(ctx); 275 cgit_print_docstart(ctx);
275 cgit_print_pageheader(ctx); 276 cgit_print_pageheader(ctx);
276 cgit_print_error(fmt("Invalid branch: %s", tmp)); 277 cgit_print_error(fmt("Invalid branch: %s", tmp));
277 cgit_print_docend(); 278 cgit_print_docend();
278 return 1; 279 return 1;
279 } 280 }
280 return 0; 281 return 0;
diff --git a/cgit.h b/cgit.h
index d07185c..91db98a 100644
--- a/cgit.h
+++ b/cgit.h
@@ -99,48 +99,49 @@ struct refinfo {
99}; 99};
100 100
101struct reflist { 101struct reflist {
102 struct refinfo **refs; 102 struct refinfo **refs;
103 int alloc; 103 int alloc;
104 int count; 104 int count;
105}; 105};
106 106
107struct cgit_query { 107struct cgit_query {
108 int has_symref; 108 int has_symref;
109 int has_sha1; 109 int has_sha1;
110 char *raw; 110 char *raw;
111 char *repo; 111 char *repo;
112 char *page; 112 char *page;
113 char *search; 113 char *search;
114 char *grep; 114 char *grep;
115 char *head; 115 char *head;
116 char *sha1; 116 char *sha1;
117 char *sha2; 117 char *sha2;
118 char *path; 118 char *path;
119 char *name; 119 char *name;
120 char *mimetype; 120 char *mimetype;
121 char *url; 121 char *url;
122 int ofs; 122 int ofs;
123 int nohead;
123}; 124};
124 125
125struct cgit_config { 126struct cgit_config {
126 char *agefile; 127 char *agefile;
127 char *cache_root; 128 char *cache_root;
128 char *clone_prefix; 129 char *clone_prefix;
129 char *css; 130 char *css;
130 char *favicon; 131 char *favicon;
131 char *footer; 132 char *footer;
132 char *index_header; 133 char *index_header;
133 char *index_info; 134 char *index_info;
134 char *logo; 135 char *logo;
135 char *logo_link; 136 char *logo_link;
136 char *module_link; 137 char *module_link;
137 char *repo_group; 138 char *repo_group;
138 char *robots; 139 char *robots;
139 char *root_title; 140 char *root_title;
140 char *root_desc; 141 char *root_desc;
141 char *root_readme; 142 char *root_readme;
142 char *script_name; 143 char *script_name;
143 char *virtual_root; 144 char *virtual_root;
144 int cache_size; 145 int cache_size;
145 int cache_dynamic_ttl; 146 int cache_dynamic_ttl;
146 int cache_max_create_time; 147 int cache_max_create_time;