]> gitweb.ps.run Git - ps-cgit/blobdiff - shared.c
Handle missing default branch and error out on invalid branch names
[ps-cgit] / shared.c
index a04c4dc7eece8257c9d3145f72e4bea0e8b17148..9c992c8adb3834fa41cfb5e6a453d43dc17a0580 100644 (file)
--- a/shared.c
+++ b/shared.c
@@ -26,6 +26,8 @@ char *cgit_virtual_root = NULL;
 char *cgit_script_name  = CGIT_SCRIPT_NAME;
 char *cgit_cache_root   = CGIT_CACHE_ROOT;
 char *cgit_repo_group   = NULL;
+char *cgit_robots       = "index, nofollow";
+char *cgit_clone_prefix = NULL;
 
 int cgit_nocache               =  0;
 int cgit_snapshots             =  0;
@@ -68,7 +70,7 @@ int htmlfd = 0;
 int cgit_get_cmd_index(const char *cmd)
 {
        static char *cmds[] = {"log", "commit", "diff", "tree", "blob",
-                              "snapshot", "tag", "refs", NULL};
+                              "snapshot", "tag", "refs", "patch", NULL};
        int i;
 
        for(i = 0; cmds[i]; i++)
@@ -157,9 +159,11 @@ void cgit_global_config_cb(const char *name, const char *value)
                cgit_logo_link = xstrdup(value);
        else if (!strcmp(name, "module-link"))
                cgit_module_link = xstrdup(value);
-       else if (!strcmp(name, "virtual-root"))
+       else if (!strcmp(name, "virtual-root")) {
                cgit_virtual_root = trim_end(value, '/');
-       else if (!strcmp(name, "nocache"))
+               if (!cgit_virtual_root && (!strcmp(value, "/")))
+                       cgit_virtual_root = "";
+       } else if (!strcmp(name, "nocache"))
                cgit_nocache = atoi(value);
        else if (!strcmp(name, "snapshots"))
                cgit_snapshots = cgit_parse_snapshots_mask(value);
@@ -195,6 +199,10 @@ void cgit_global_config_cb(const char *name, const char *value)
                cgit_agefile = xstrdup(value);
        else if (!strcmp(name, "renamelimit"))
                cgit_renamelimit = atoi(value);
+       else if (!strcmp(name, "robots"))
+               cgit_robots = xstrdup(value);
+       else if (!strcmp(name, "clone-prefix"))
+               cgit_clone_prefix = xstrdup(value);
        else if (!strcmp(name, "repo.group"))
                cgit_repo_group = xstrdup(value);
        else if (!strcmp(name, "repo.url"))
@@ -203,6 +211,8 @@ void cgit_global_config_cb(const char *name, const char *value)
                cgit_repo->name = xstrdup(value);
        else if (cgit_repo && !strcmp(name, "repo.path"))
                cgit_repo->path = trim_end(value, '/');
+       else if (cgit_repo && !strcmp(name, "repo.clone-url"))
+               cgit_repo->clone_url = xstrdup(value);
        else if (cgit_repo && !strcmp(name, "repo.desc"))
                cgit_repo->desc = xstrdup(value);
        else if (cgit_repo && !strcmp(name, "repo.owner"))