#include "cgit.h"
#include <stdio.h>
-#include <linux/limits.h>
struct cgit_repolist cgit_repolist;
struct cgit_context ctx;
return result;
}
+char *cgit_default_repo_desc = "[no description]";
struct cgit_repo *cgit_add_repo(const char *url)
{
struct cgit_repo *ret;
ret->url = trim_end(url, '/');
ret->name = ret->url;
ret->path = NULL;
- ret->desc = "[no description]";
+ ret->desc = cgit_default_repo_desc;
ret->owner = NULL;
ret->section = ctx.cfg.section;
ret->snapshots = ctx.cfg.snapshots;
ret->enable_remote_branches = ctx.cfg.enable_remote_branches;
ret->enable_subject_links = ctx.cfg.enable_subject_links;
ret->max_stats = ctx.cfg.max_stats;
+ ret->commit_sort = ctx.cfg.commit_sort;
ret->module_link = ctx.cfg.module_link;
ret->readme = ctx.cfg.readme;
ret->mtime = -1;
ret->commit_filter = ctx.cfg.commit_filter;
ret->source_filter = ctx.cfg.source_filter;
ret->clone_url = ctx.cfg.clone_url;
+ ret->submodules.strdup_strings = 1;
return ret;
}
filepair_fn fn, const char *prefix, int ignorews)
{
struct diff_options opt;
- int prefixlen;
+ struct pathspec_item item;
diff_setup(&opt);
opt.output_format = DIFF_FORMAT_CALLBACK;
opt.format_callback = cgit_diff_tree_cb;
opt.format_callback_data = fn;
if (prefix) {
- opt.nr_paths = 1;
- opt.paths = &prefix;
- prefixlen = strlen(prefix);
- opt.pathlens = &prefixlen;
+ item.match = prefix;
+ item.len = strlen(prefix);
+ opt.pathspec.nr = 1;
+ opt.pathspec.items = &item;
}
diff_setup_done(&opt);
p = env_vars;
q = p + env_var_count;
for (; p < q; p++)
- if (setenv(p->name, p->value, 1))
+ if (p->value && setenv(p->name, p->value, 1))
fprintf(stderr, warn, p->name, p->value);
}