tdetect more names for README and LICENSE - stagit - static git page generator | |
git clone git://src.adamsgaard.dk/stagit | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit 84bb2212e86c54f67dc18cf803bd2ac6edf24804 | |
parent 8c45dfc58edc069a3787224f522c7f62da501a80 | |
Author: Hiltjo Posthuma <[email protected]> | |
Date: Sun, 11 Nov 2018 18:23:28 +0100 | |
detect more names for README and LICENSE | |
- for license: LICENSE, LICENSE.md, COPYING. | |
- for readme: README, README.md. | |
Diffstat: | |
M stagit.c | 46 ++++++++++++++++++++---------… | |
1 file changed, 30 insertions(+), 16 deletions(-) | |
--- | |
diff --git a/stagit.c b/stagit.c | |
t@@ -56,12 +56,16 @@ static char *name = ""; | |
static char *strippedname = ""; | |
static char description[255]; | |
static char cloneurl[1024]; | |
-static int haslicense, hasreadme, hassubmodules; | |
+static char *submodules; | |
+static char *licensefiles[] = { "HEAD:LICENSE", "HEAD:LICENSE.md", "HEAD:COPYI… | |
+static char *license; | |
+static char *readmefiles[] = { "HEAD:README", "HEAD:README.md" }; | |
+static char *readme; | |
static long long nlogcommits = -1; /* < 0 indicates not used */ | |
/* cache */ | |
static git_oid lastoid; | |
-static char lastoidstr[GIT_OID_HEXSZ + 2]; /* id + newline + nul byte */ | |
+static char lastoidstr[GIT_OID_HEXSZ + 2]; /* id + newline + NUL byte */ | |
static FILE *rcachefp, *wcachefp; | |
static const char *cachefile; | |
t@@ -366,12 +370,15 @@ writeheader(FILE *fp, const char *title) | |
fprintf(fp, "<a href=\"%slog.html\">Log</a> | ", relpath); | |
fprintf(fp, "<a href=\"%sfiles.html\">Files</a> | ", relpath); | |
fprintf(fp, "<a href=\"%srefs.html\">Refs</a>", relpath); | |
- if (hassubmodules) | |
- fprintf(fp, " | <a href=\"%sfile/.gitmodules.html\">Submodules… | |
- if (hasreadme) | |
- fprintf(fp, " | <a href=\"%sfile/README.html\">README</a>", re… | |
- if (haslicense) | |
- fprintf(fp, " | <a href=\"%sfile/LICENSE.html\">LICENSE</a>", … | |
+ if (submodules) | |
+ fprintf(fp, " | <a href=\"%sfile/%s.html\">Submodules</a>", | |
+ relpath, submodules); | |
+ if (readme) | |
+ fprintf(fp, " | <a href=\"%sfile/%s.html\">README</a>", | |
+ relpath, readme); | |
+ if (license) | |
+ fprintf(fp, " | <a href=\"%sfile/%s.html\">LICENSE</a>", | |
+ relpath, license); | |
fputs("</td></tr></table>\n<hr/>\n<div id=\"content\">\n", fp); | |
} | |
t@@ -1124,17 +1131,24 @@ main(int argc, char *argv[]) | |
} | |
/* check LICENSE */ | |
- haslicense = (!git_revparse_single(&obj, repo, "HEAD:LICENSE") && | |
- git_object_type(obj) == GIT_OBJ_BLOB); | |
- git_object_free(obj); | |
+ for (i = 0; i < sizeof(licensefiles) / sizeof(*licensefiles) && !licen… | |
+ if (!git_revparse_single(&obj, repo, licensefiles[i]) && | |
+ git_object_type(obj) == GIT_OBJ_BLOB) | |
+ license = licensefiles[i] + strlen("HEAD:"); | |
+ git_object_free(obj); | |
+ } | |
/* check README */ | |
- hasreadme = (!git_revparse_single(&obj, repo, "HEAD:README") && | |
- git_object_type(obj) == GIT_OBJ_BLOB); | |
- git_object_free(obj); | |
+ for (i = 0; i < sizeof(readmefiles) / sizeof(*readmefiles) && !readme;… | |
+ if (!git_revparse_single(&obj, repo, readmefiles[i]) && | |
+ git_object_type(obj) == GIT_OBJ_BLOB) | |
+ readme = readmefiles[i] + strlen("HEAD:"); | |
+ git_object_free(obj); | |
+ } | |
- hassubmodules = (!git_revparse_single(&obj, repo, "HEAD:.gitmodules") … | |
- git_object_type(obj) == GIT_OBJ_BLOB); | |
+ if (!git_revparse_single(&obj, repo, "HEAD:.gitmodules") && | |
+ git_object_type(obj) == GIT_OBJ_BLOB) | |
+ submodules = ".gitmodules"; | |
git_object_free(obj); | |
/* log for HEAD */ |