summaryrefslogtreecommitdiffabout
authorLars Hjemli <hjemli@gmail.com>2009-11-07 18:10:58 (UTC)
committer Lars Hjemli <hjemli@gmail.com>2009-11-07 18:10:58 (UTC)
commit41934a3222cd3e5a5f214e4275929519c70d311d (patch) (side-by-side diff)
treef938c5a2a595ce0b33bab53cd7d6872bfb8d62c5
parente633ccf714eb423c4522924c3b611dac2e176c5e (diff)
downloadcgit-41934a3222cd3e5a5f214e4275929519c70d311d.zip
cgit-41934a3222cd3e5a5f214e4275929519c70d311d.tar.gz
cgit-41934a3222cd3e5a5f214e4275929519c70d311d.tar.bz2
Add support for remote branches
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--cgit.c4
-rw-r--r--cgit.h2
-rw-r--r--cgitrc.5.txt9
-rw-r--r--shared.c1
-rw-r--r--ui-refs.c2
5 files changed, 18 insertions, 0 deletions
diff --git a/cgit.c b/cgit.c
index a17f40d..29813cd 100644
--- a/cgit.c
+++ b/cgit.c
@@ -60,6 +60,8 @@ void repo_config(struct cgit_repo *repo, const char *name, const char *value)
repo->enable_log_filecount = ctx.cfg.enable_log_filecount * atoi(value);
else if (!strcmp(name, "enable-log-linecount"))
repo->enable_log_linecount = ctx.cfg.enable_log_linecount * atoi(value);
+ else if (!strcmp(name, "enable-remote-branches"))
+ repo->enable_remote_branches = atoi(value);
else if (!strcmp(name, "max-stats"))
repo->max_stats = cgit_find_stats_period(value, NULL);
else if (!strcmp(name, "module-link"))
@@ -137,6 +139,8 @@ void config_cb(const char *name, const char *value)
ctx.cfg.enable_log_filecount = atoi(value);
else if (!strcmp(name, "enable-log-linecount"))
ctx.cfg.enable_log_linecount = atoi(value);
+ else if (!strcmp(name, "enable-remote-branches"))
+ ctx.cfg.enable_remote_branches = atoi(value);
else if (!strcmp(name, "enable-tree-linenumbers"))
ctx.cfg.enable_tree_linenumbers = atoi(value);
else if (!strcmp(name, "max-stats"))
diff --git a/cgit.h b/cgit.h
index 6c6c460..1de2335 100644
--- a/cgit.h
+++ b/cgit.h
@@ -72,6 +72,7 @@ struct cgit_repo {
int snapshots;
int enable_log_filecount;
int enable_log_linecount;
+ int enable_remote_branches;
int max_stats;
time_t mtime;
struct cgit_filter *about_filter;
@@ -178,6 +179,7 @@ struct cgit_config {
int enable_index_links;
int enable_log_filecount;
int enable_log_linecount;
+ int enable_remote_branches;
int enable_tree_linenumbers;
int local_time;
int max_repo_count;
diff --git a/cgitrc.5.txt b/cgitrc.5.txt
index 0c13485..0bb429a 100644
--- a/cgitrc.5.txt
+++ b/cgitrc.5.txt
@@ -110,6 +110,11 @@ enable-log-linecount::
and removed lines for each commit on the repository log page. Default
value: "0".
+enable-remote-branches::
+ Flag which, when set to "1", will make cgit display remote branches
+ in the summary and refs views. Default value: "0". See also:
+ "repo.enable-remote-branches".
+
enable-tree-linenumbers::
Flag which, when set to "1", will make cgit generate linenumber links
for plaintext blobs printed in the tree view. Default value: "1".
@@ -304,6 +309,10 @@ repo.enable-log-linecount::
A flag which can be used to disable the global setting
`enable-log-linecount'. Default value: none.
+repo.enable-remote-branches::
+ Flag which, when set to "1", will make cgit display remote branches
+ in the summary and refs views. Default value: <enable-remote-branches>.
+
repo.max-stats::
Override the default maximum statistics period. Valid values are equal
to the values specified for the global "max-stats" setting. Default
diff --git a/shared.c b/shared.c
index 9362d21..5f46793 100644
--- a/shared.c
+++ b/shared.c
@@ -59,6 +59,7 @@ struct cgit_repo *cgit_add_repo(const char *url)
ret->snapshots = ctx.cfg.snapshots;
ret->enable_log_filecount = ctx.cfg.enable_log_filecount;
ret->enable_log_linecount = ctx.cfg.enable_log_linecount;
+ ret->enable_remote_branches = ctx.cfg.enable_remote_branches;
ret->max_stats = ctx.cfg.max_stats;
ret->module_link = ctx.cfg.module_link;
ret->readme = NULL;
diff --git a/ui-refs.c b/ui-refs.c
index d3b4f6e..b3489ee 100644
--- a/ui-refs.c
+++ b/ui-refs.c
@@ -187,6 +187,8 @@ void cgit_print_branches(int maxcount)
list.refs = NULL;
list.alloc = list.count = 0;
for_each_branch_ref(cgit_refs_cb, &list);
+ if (ctx.repo->enable_remote_branches)
+ for_each_remote_ref(cgit_refs_cb, &list);
if (maxcount == 0 || maxcount > list.count)
maxcount = list.count;