| tno log per branch - stagit - static git page generator | |
| git clone git://src.adamsgaard.dk/stagit | |
| Log | |
| Files | |
| Refs | |
| README | |
| LICENSE | |
| --- | |
| commit f96ac27087ae28112f78ef51ef3907104a8d72bf | |
| parent 043609742fca299a4d706d9bb31f5c11e8eafd3f | |
| Author: Hiltjo Posthuma <[email protected]> | |
| Date: Sun, 3 Jan 2016 22:36:48 +0100 | |
| no log per branch | |
| rename log.html to log/HEAD.html, small code cleanup | |
| Diffstat: | |
| M stagit.c | 54 ++++++++---------------------… | |
| 1 file changed, 14 insertions(+), 40 deletions(-) | |
| --- | |
| diff --git a/stagit.c b/stagit.c | |
| t@@ -22,8 +22,8 @@ struct commitinfo { | |
| char parentoid[GIT_OID_HEXSZ + 1]; | |
| const git_signature *author; | |
| - const char *summary; | |
| - const char *msg; | |
| + const char *summary; | |
| + const char *msg; | |
| git_diff_stats *stats; | |
| git_diff *diff; | |
| t@@ -263,7 +263,7 @@ writeheader(FILE *fp) | |
| fputs("</a></td></tr>", fp); | |
| } | |
| fputs("<tr><td></td><td>\n", fp); | |
| - fprintf(fp, "<a href=\"%slog.html\">Log</a> | ", relpath); | |
| + fprintf(fp, "<a href=\"%slog/HEAD.html\">Log</a> | ", relpath); | |
| fprintf(fp, "<a href=\"%sfiles.html\">Files</a> | ", relpath); | |
| fprintf(fp, "<a href=\"%srefs.html\">Refs/branches</a>", relpath); | |
| if (hasreadme) | |
| t@@ -698,15 +698,15 @@ writefilestree(FILE *fp, git_tree *tree, const char *bra… | |
| count = git_tree_entrycount(tree); | |
| for (i = 0; i < count; i++) { | |
| - if (!(entry = git_tree_entry_byindex(tree, i))) | |
| - return -1; | |
| - if (git_tree_entry_to_object(&obj, repo, entry)) | |
| + if (!(entry = git_tree_entry_byindex(tree, i)) || | |
| + git_tree_entry_to_object(&obj, repo, entry)) | |
| return -1; | |
| filename = git_tree_entry_name(entry); | |
| switch (git_object_type(obj)) { | |
| case GIT_OBJ_BLOB: | |
| break; | |
| case GIT_OBJ_TREE: | |
| + /* NOTE: recurses */ | |
| ret = writefilestree(fp, (git_tree *)obj, branch, | |
| filename); | |
| git_object_free(obj); | |
| t@@ -722,7 +722,6 @@ writefilestree(FILE *fp, git_tree *tree, const char *branc… | |
| path, filename); | |
| filename = filepath; | |
| } | |
| - | |
| filesize = git_blob_rawsize((git_blob *)obj); | |
| fputs("<tr><td>", fp); | |
| t@@ -757,12 +756,9 @@ writefiles(FILE *fp, const char *branch) | |
| if (git_revparse_single(&obj, repo, branch)) | |
| goto err; | |
| id = git_object_id(obj); | |
| - if (git_commit_lookup(&commit, repo, id)) | |
| - goto err; | |
| - if (git_commit_tree(&tree, commit)) { | |
| - git_commit_free(commit); | |
| + if (git_commit_lookup(&commit, repo, id) || | |
| + git_commit_tree(&tree, commit)) | |
| goto err; | |
| - } | |
| ret = writefilestree(fp, tree, branch, ""); | |
| err: | |
| t@@ -820,11 +816,9 @@ writebranches(FILE *fp) | |
| relpath = ""; | |
| - fputs("<tr><td><a href=\"log-", fp); | |
| - xmlencode(fp, branchname, strlen(branchname)); | |
| - fputs(".html\">", fp); | |
| + fputs("<tr><td>", fp); | |
| xmlencode(fp, branchname, strlen(branchname)); | |
| - fputs("</a></td><td>", fp); | |
| + fputs("</td><td>", fp); | |
| if (ci->author) | |
| printtimeshort(fp, &(ci->author->when)); | |
| fputs("</td><td>", fp); | |
| t@@ -963,10 +957,6 @@ int | |
| main(int argc, char *argv[]) | |
| { | |
| git_object *obj = NULL; | |
| - git_branch_iterator *it = NULL; | |
| - git_branch_t branch; | |
| - git_reference *ref = NULL; | |
| - const char *branchname = NULL; | |
| const git_error *e = NULL; | |
| FILE *fp, *fpread; | |
| char path[PATH_MAX], *p; | |
| t@@ -1028,31 +1018,15 @@ main(int argc, char *argv[]) | |
| git_object_free(obj); | |
| /* log for HEAD */ | |
| - fp = efopen("log.html", "w"); | |
| + mkdir("log", 0755); | |
| + fp = efopen("log/HEAD.html", "w"); | |
| + relpath = "../"; | |
| writeheader(fp); | |
| + relpath = ""; | |
| writelog(fp, "HEAD"); | |
| writefooter(fp); | |
| fclose(fp); | |
| - /* log for local branches */ | |
| - if (git_branch_iterator_new(&it, repo, GIT_BRANCH_LOCAL)) | |
| - err(1, "git_branch_iterator_new"); | |
| - | |
| - while (!git_branch_next(&ref, &branch, it)) { | |
| - if (git_branch_name(&branchname, ref)) | |
| - continue; | |
| - | |
| - snprintf(path, sizeof(path), "log-%s.html", branchname); | |
| - | |
| - fp = efopen(path, "w"); | |
| - writeheader(fp); | |
| - writelog(fp, branchname); | |
| - writefooter(fp); | |
| - fclose(fp); | |
| - } | |
| - git_reference_free(ref); | |
| - git_branch_iterator_free(it); | |
| - | |
| /* files for HEAD */ | |
| fp = efopen("files.html", "w"); | |
| writeheader(fp); |