| tsubmodule support - stagit - static git page generator | |
| git clone git://src.adamsgaard.dk/stagit | |
| Log | |
| Files | |
| Refs | |
| README | |
| LICENSE | |
| --- | |
| commit 5c278a600ea64c64f238e14d38dafbdbee6c9562 | |
| parent 671f4e91007a149e88b57788fc76059fbeac152e | |
| Author: Hiltjo Posthuma <[email protected]> | |
| Date: Fri, 29 Apr 2016 21:14:46 +0200 | |
| submodule support | |
| - detect .gitmodules file for submodules, add a link "submodules" to the top me… | |
| - link each submodule to the .gitmodules file in HEAD. | |
| - revert the special style for modules, but list it as a file "m---------", don… | |
| the line/filesize though, it is not a file. | |
| Diffstat: | |
| M stagit.c | 24 +++++++++--------------- | |
| M style.css | 4 ---- | |
| 2 files changed, 9 insertions(+), 19 deletions(-) | |
| --- | |
| diff --git a/stagit.c b/stagit.c | |
| t@@ -46,7 +46,7 @@ static char *name = ""; | |
| static char *stripped_name; | |
| static char description[255]; | |
| static char cloneurl[1024]; | |
| -static int hasreadme, haslicense; | |
| +static int haslicense, hasreadme, hassubmodules; | |
| void | |
| commitinfo_free(struct commitinfo *ci) | |
| t@@ -251,6 +251,8 @@ 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) | |
| t@@ -654,7 +656,7 @@ writefilestree(FILE *fp, git_tree *tree, const char *branc… | |
| { | |
| const git_tree_entry *entry = NULL; | |
| git_submodule *module = NULL; | |
| - const char *entryname, *moduleurl; | |
| + const char *entryname; | |
| char filepath[PATH_MAX], entrypath[PATH_MAX]; | |
| git_object *obj = NULL; | |
| git_off_t filesize; | |
| t@@ -709,21 +711,11 @@ writefilestree(FILE *fp, git_tree *tree, const char *bra… | |
| fprintf(fp, "%juB", (uintmax_t)filesize); | |
| fputs("</td></tr>\n", fp); | |
| } else if (!git_submodule_lookup(&module, repo, entryname)) { | |
| - fputs("<tr><td>m---------</td><td>", fp); | |
| - if ((moduleurl = git_submodule_url(module))) { | |
| - fprintf(fp, "<a class=\"module\" href=\"%s\">", | |
| - moduleurl); | |
| - } | |
| + fprintf(fp, "<tr><td>m------</td><td><a href=\"%sfile/… | |
| + relpath); | |
| xmlencode(fp, entrypath, strlen(entrypath)); | |
| - if (moduleurl) { | |
| - fputs(" @", fp); | |
| - xmlencode(fp, moduleurl, strlen(moduleurl)); | |
| - fputs("</a>", fp); | |
| - } | |
| - fprintf(fp, "</td><td class=\"num\">0%c", | |
| - showlinecount ? 'L' : 'B'); | |
| git_submodule_free(module); | |
| - fputs("</td></tr>\n", fp); | |
| + fputs("</a></td><td class=\"num\"></td></tr>\n", fp); | |
| } | |
| } | |
| t@@ -963,6 +955,8 @@ main(int argc, char *argv[]) | |
| /* check README */ | |
| hasreadme = !git_revparse_single(&obj, repo, "HEAD:README"); | |
| git_object_free(obj); | |
| + hassubmodules = !git_revparse_single(&obj, repo, "HEAD:.gitmodules"); | |
| + git_object_free(obj); | |
| /* log for HEAD */ | |
| fp = efopen("log.html", "w"); | |
| diff --git a/style.css b/style.css | |
| t@@ -58,10 +58,6 @@ table td { | |
| white-space: normal; | |
| } | |
| -a.module { | |
| - color: #000; | |
| -} | |
| - | |
| td.num { | |
| text-align: right; | |
| } |