submodule support - stagit-gopher - A git gopher frontend. (mirror) | |
git clone git://bitreich.org/stagit-gopher/ git://enlrupgkhuxnvlhsf6lc3fziv5h2h… | |
Log | |
Files | |
Refs | |
Tags | |
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 | |
@@ -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) | |
@@ -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) | |
@@ -654,7 +656,7 @@ writefilestree(FILE *fp, git_tree *tree, const char *branch… | |
{ | |
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; | |
@@ -709,21 +711,11 @@ writefilestree(FILE *fp, git_tree *tree, const char *bran… | |
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); | |
} | |
} | |
@@ -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 | |
@@ -58,10 +58,6 @@ table td { | |
white-space: normal; | |
} | |
-a.module { | |
- color: #000; | |
-} | |
- | |
td.num { | |
text-align: right; | |
} |