]> git.cameronkatri.com Git - cgit.git/commitdiff
Add support for remote branches
authorLars Hjemli <hjemli@gmail.com>
Sat, 7 Nov 2009 18:10:58 +0000 (19:10 +0100)
committerLars Hjemli <hjemli@gmail.com>
Sat, 7 Nov 2009 18:10:58 +0000 (19:10 +0100)
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
cgit.c
cgit.h
cgitrc.5.txt
shared.c
ui-refs.c

diff --git a/cgit.c b/cgit.c
index a17f40d5abfb14c434dbae8811ed839b89bc555e..29813cd5e534f09f064e2aee14f8c5e0351d1207 100644 (file)
--- 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 6c6c460f9d03108b17a0da008381d93c69f262cf..1de23352fd23b7310ffb6709f2ec1674a6959071 100644 (file)
--- 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;
index 0c1348563568a96e05edf6ed9f617eaaabe69cfa..0bb429a0f03c42f6f9f42738880f446889cdea58 100644 (file)
@@ -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
index 9362d2114e44a5f3c5cd9cd81853d854ed745c79..5f4679335e0f063cadc57b79953f2c078cff11a3 100644 (file)
--- 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;
index d3b4f6e478aab81b9f59dbac3536ce1b7eb6344e..b3489eeff97a78e1bfa5df694754ba733e61e9f6 100644 (file)
--- 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;