|
diff --git a/cgit.c b/cgit.c index 3c11ff0..b282a67 100644 --- a/ cgit.c+++ b/ cgit.c |
|
@@ -62,12 +62,15 @@ static int cgit_prepare_cache(struct cacheitem *item) |
62 | |
62 | |
63 | static void cgit_print_repo_page(struct cacheitem *item) |
63 | static 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 (!cgit_query_head) |
| |
69 | cgit_query_head = cgit_repo->defbranch; |
| |
70 | |
68 | if (chdir(cgit_repo->path)) { |
71 | if (chdir(cgit_repo->path)) { |
69 | title = fmt("%s - %s", cgit_root_title, "Bad request"); |
72 | title = fmt("%s - %s", cgit_root_title, "Bad request"); |
70 | cgit_print_docstart(title, item); |
73 | cgit_print_docstart(title, item); |
71 | cgit_print_pageheader(title, 0); |
74 | cgit_print_pageheader(title, 0); |
72 | cgit_print_error(fmt("Unable to scan repository: %s", |
75 | cgit_print_error(fmt("Unable to scan repository: %s", |
73 | strerror(errno))); |
76 | strerror(errno))); |
|
|
diff --git a/cgit.h b/cgit.h index f5906ad..ac710a6 100644 --- a/ cgit.h+++ b/ cgit.h |
|
@@ -32,12 +32,13 @@ struct cacheitem { |
32 | struct repoinfo { |
32 | struct 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 *module_link; |
39 | char *module_link; |
39 | int snapshots; |
40 | int snapshots; |
40 | }; |
41 | }; |
41 | |
42 | |
42 | struct repolist { |
43 | struct repolist { |
43 | int length; |
44 | int length; |
|
|
diff --git a/shared.c b/shared.c index 8505397..a1e1acd 100644 --- a/ shared.c+++ b/ shared.c |
|
@@ -29,16 +29,12 @@ int cgit_cache_dynamic_ttl = 5; |
29 | int cgit_cache_static_ttl = -1; |
29 | int cgit_cache_static_ttl = -1; |
30 | int cgit_cache_max_create_time = 5; |
30 | int cgit_cache_max_create_time = 5; |
31 | |
31 | |
32 | int cgit_max_msg_len = 60; |
32 | int cgit_max_msg_len = 60; |
33 | int cgit_max_commit_count = 50; |
33 | int cgit_max_commit_count = 50; |
34 | |
34 | |
35 | char *cgit_repo_name = NULL; |
| |
36 | char *cgit_repo_desc = NULL; |
| |
37 | char *cgit_repo_owner = NULL; |
| |
38 | |
| |
39 | int cgit_query_has_symref = 0; |
35 | int cgit_query_has_symref = 0; |
40 | int cgit_query_has_sha1 = 0; |
36 | int cgit_query_has_sha1 = 0; |
41 | |
37 | |
42 | char *cgit_querystring = NULL; |
38 | char *cgit_querystring = NULL; |
43 | char *cgit_query_repo = NULL; |
39 | char *cgit_query_repo = NULL; |
44 | char *cgit_query_page = NULL; |
40 | char *cgit_query_page = NULL; |
@@ -83,12 +79,13 @@ struct repoinfo *add_repo(const char *url) |
83 | ret = &cgit_repolist.repos[cgit_repolist.count-1]; |
79 | ret = &cgit_repolist.repos[cgit_repolist.count-1]; |
84 | ret->url = xstrdup(url); |
80 | ret->url = xstrdup(url); |
85 | ret->name = ret->url; |
81 | ret->name = ret->url; |
86 | ret->path = NULL; |
82 | ret->path = NULL; |
87 | ret->desc = NULL; |
83 | ret->desc = NULL; |
88 | ret->owner = NULL; |
84 | ret->owner = NULL; |
| |
85 | ret->defbranch = "master"; |
89 | ret->snapshots = cgit_snapshots; |
86 | ret->snapshots = cgit_snapshots; |
90 | ret->module_link = cgit_module_link; |
87 | ret->module_link = cgit_module_link; |
91 | return ret; |
88 | return ret; |
92 | } |
89 | } |
93 | |
90 | |
94 | void cgit_global_config_cb(const char *name, const char *value) |
91 | void cgit_global_config_cb(const char *name, const char *value) |
@@ -130,30 +127,22 @@ void cgit_global_config_cb(const char *name, const char *value) |
130 | else if (cgit_repo && !strcmp(name, "repo.path")) |
127 | else if (cgit_repo && !strcmp(name, "repo.path")) |
131 | cgit_repo->path = xstrdup(value); |
128 | cgit_repo->path = xstrdup(value); |
132 | else if (cgit_repo && !strcmp(name, "repo.desc")) |
129 | else if (cgit_repo && !strcmp(name, "repo.desc")) |
133 | cgit_repo->desc = xstrdup(value); |
130 | cgit_repo->desc = xstrdup(value); |
134 | else if (cgit_repo && !strcmp(name, "repo.owner")) |
131 | else if (cgit_repo && !strcmp(name, "repo.owner")) |
135 | cgit_repo->owner = xstrdup(value); |
132 | cgit_repo->owner = xstrdup(value); |
| |
133 | else if (cgit_repo && !strcmp(name, "repo.defbranch")) |
| |
134 | cgit_repo->defbranch = xstrdup(value); |
136 | else if (cgit_repo && !strcmp(name, "repo.snapshots")) |
135 | else if (cgit_repo && !strcmp(name, "repo.snapshots")) |
137 | cgit_repo->snapshots = atoi(value); |
136 | cgit_repo->snapshots = atoi(value); |
138 | else if (cgit_repo && !strcmp(name, "repo.module-link")) |
137 | else if (cgit_repo && !strcmp(name, "repo.module-link")) |
139 | cgit_repo->module_link= xstrdup(value); |
138 | cgit_repo->module_link= xstrdup(value); |
140 | else if (!strcmp(name, "include")) |
139 | else if (!strcmp(name, "include")) |
141 | cgit_read_config(value, cgit_global_config_cb); |
140 | cgit_read_config(value, cgit_global_config_cb); |
142 | } |
141 | } |
143 | |
142 | |
144 | void cgit_repo_config_cb(const char *name, const char *value) |
| |
145 | { |
| |
146 | if (!strcmp(name, "name")) |
| |
147 | cgit_repo_name = xstrdup(value); |
| |
148 | else if (!strcmp(name, "desc")) |
| |
149 | cgit_repo_desc = xstrdup(value); |
| |
150 | else if (!strcmp(name, "owner")) |
| |
151 | cgit_repo_owner = xstrdup(value); |
| |
152 | } |
| |
153 | |
| |
154 | void cgit_querystring_cb(const char *name, const char *value) |
143 | void cgit_querystring_cb(const char *name, const char *value) |
155 | { |
144 | { |
156 | if (!strcmp(name,"r")) { |
145 | if (!strcmp(name,"r")) { |
157 | cgit_query_repo = xstrdup(value); |
146 | cgit_query_repo = xstrdup(value); |
158 | } else if (!strcmp(name, "p")) { |
147 | } else if (!strcmp(name, "p")) { |
159 | cgit_query_page = xstrdup(value); |
148 | cgit_query_page = xstrdup(value); |
|