stagit

custom fork of stagit
Index Commits Files Refs README LICENSE
commit c6e8f9fd809cc16960022c344b42be77229a70c6
parent 543582034eed3faf6120de321354f36ec8a2c0b4
Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date:   Fri,  6 May 2016 11:49:25 +0200

make diffstat files an anchor (jump to delta)

Diffstat:
Mstagit.c | 8++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/stagit.c b/stagit.c
@@ -462,7 +462,7 @@ printshowfile(FILE *fp, struct commitinfo *ci)
     fputs("<b>Diffstat:</b>\n<table>", fp);
     for (i = 0; i < ci->ndeltas; i++) {
         delta = git_patch_get_delta(ci->deltas[i]->patch);
-        fputs("<tr><td>", fp);
+        fprintf(fp, "<tr><td><a href=\"#h%zu\">", i);
         xmlencode(fp, delta->old_file.path, strlen(delta->old_file.path));
         if (strcmp(delta->old_file.path, delta->new_file.path)) {
             fputs(" -&gt; ", fp);
@@ -482,7 +482,7 @@ printshowfile(FILE *fp, struct commitinfo *ci)
         memset(&linestr, '+', add);
         memset(&linestr[add], '-', del);
 
-        fprintf(fp, "</td><td> | </td><td class=\"num\">%zu</td><td><span class=\"i\">",
+        fprintf(fp, "</a></td><td> | </td><td class=\"num\">%zu</td><td><span class=\"i\">",
                 ci->deltas[i]->addcount + ci->deltas[i]->delcount);
         fwrite(&linestr, 1, add, fp);
         fputs("</span><span class=\"d\">", fp);
@@ -499,8 +499,8 @@ printshowfile(FILE *fp, struct commitinfo *ci)
     for (i = 0; i < ci->ndeltas; i++) {
         patch = ci->deltas[i]->patch;
         delta = git_patch_get_delta(patch);
-        fprintf(fp, "<b>diff --git a/<a href=\"%sfile/%s.html\">%s</a> b/<a href=\"%sfile/%s.html\">%s</a></b>\n",
-            relpath, delta->old_file.path, delta->old_file.path,
+        fprintf(fp, "<b>diff --git a/<a id=\"h%zu\" href=\"%sfile/%s.html\">%s</a> b/<a href=\"%sfile/%s.html\">%s</a></b>\n",
+            i, relpath, delta->old_file.path, delta->old_file.path,
             relpath, delta->new_file.path, delta->new_file.path);
 
         /* check binary data */