author | Lars Hjemli <hjemli@gmail.com> | 2010-09-19 16:43:58 (UTC) |
---|---|---|
committer | Lars Hjemli <hjemli@gmail.com> | 2010-09-19 16:43:58 (UTC) |
commit | e76a1ea427792aaa331cdec70d7d4ff1fb3422e0 (patch) (side-by-side diff) | |
tree | faeee0c46a2d470b29b46481f74070557e3fdb8d /scan-tree.c | |
parent | 857696dd3d85f7c12c718a46d82a2405e6a9919a (diff) | |
parent | 515edb0da3b9156e07e269621d7474cdea82acaf (diff) | |
download | cgit-e76a1ea427792aaa331cdec70d7d4ff1fb3422e0.zip cgit-e76a1ea427792aaa331cdec70d7d4ff1fb3422e0.tar.gz cgit-e76a1ea427792aaa331cdec70d7d4ff1fb3422e0.tar.bz2 |
Merge branch 'lh/readme'
-rw-r--r-- | scan-tree.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/scan-tree.c b/scan-tree.c index e987824..780d405 100644 --- a/scan-tree.c +++ b/scan-tree.c @@ -89,51 +89,53 @@ static void add_repo(const char *base, const char *path, repo_config_fn fn) repo = cgit_add_repo(xstrdup(p)); if (ctx.cfg.remove_suffix) if ((p = strrchr(repo->url, '.')) && !strcmp(p, ".git")) *p = '\0'; repo->name = repo->url; repo->path = xstrdup(path); while (!owner) { if ((pwd = getpwuid(st.st_uid)) == NULL) { fprintf(stderr, "Error reading owner-info for %s: %s (%d)\n", path, strerror(errno), errno); break; } if (pwd->pw_gecos) if ((p = strchr(pwd->pw_gecos, ','))) *p = '\0'; owner = xstrdup(pwd->pw_gecos ? pwd->pw_gecos : pwd->pw_name); } repo->owner = owner; p = fmt("%s/description", path); if (!stat(p, &st)) readfile(p, &repo->desc, &size); - p = fmt("%s/README.html", path); - if (!stat(p, &st)) - repo->readme = "README.html"; + if (!repo->readme) { + p = fmt("%s/README.html", path); + if (!stat(p, &st)) + repo->readme = "README.html"; + } p = fmt("%s/cgitrc", path); if (!stat(p, &st)) { config_fn = fn; parse_configfile(xstrdup(p), &repo_config); } } static void scan_path(const char *base, const char *path, repo_config_fn fn) { DIR *dir; struct dirent *ent; char *buf; struct stat st; if (is_git_dir(path)) { add_repo(base, path, fn); return; } if (is_git_dir(fmt("%s/.git", path))) { add_repo(base, fmt("%s/.git", path), fn); return; } dir = opendir(path); |