URI: 
       detect binary diff, comment index + delta header for now (broken) - stagit-gopher - A git gopher frontend. (mirror)
  HTML git clone git://bitreich.org/stagit-gopher/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/stagit-gopher/
   DIR Log
   DIR Files
   DIR Refs
   DIR Tags
   DIR README
   DIR LICENSE
       ---
   DIR commit fe5855546a20df48fd60e8c78674ff91fbcfc710
   DIR parent 18e6c1beda47949082d0630fb3a697438b2e80d9
  HTML Author: Hiltjo Posthuma <hiltjo@codemadness.org>
       Date:   Mon,  7 Dec 2015 20:46:51 +0100
       
       detect binary diff, comment index + delta header for now (broken)
       
       Diffstat:
         M urmoms.c                            |      36 +++++++++++++++++++++----------
       
       1 file changed, 25 insertions(+), 11 deletions(-)
       ---
   DIR diff --git a/urmoms.c b/urmoms.c
       @@ -257,19 +257,33 @@ printshowfile(git_commit *commit)
                                relpath, delta->old_file.path, delta->old_file.path,
                                relpath, delta->new_file.path, delta->new_file.path);
        
       -                /* TODO: add --- and +++ lines */
       +                /* TODO: "new file mode <mode>". */
       +                /* TODO: add indexfrom...indexto + flags */
        
        #if 0
       -                switch (delta->flags) {
       -                case GIT_DIFF_FLAG_BINARY:
       -                        /* "Binary files /dev/null and b/favicon.png differ" or so */
       -                        continue; /* TODO: binary data */
       -                case GIT_DIFF_FLAG_NOT_BINARY:   break;
       -                case GIT_DIFF_FLAG_VALID_ID:     break; /* TODO: check */
       -                case GIT_DIFF_FLAG_EXISTS:       break; /* TODO: check */
       -                }
       +                fputs("<b>--- ", fp);
       +                if (delta->status & GIT_DELTA_ADDED)
       +                        fputs("/dev/null", fp);
       +                else
       +                        fprintf(fp, "a/<a href=\"%sfile/%s\">%s</a>",
       +                                relpath, delta->old_file.path, delta->old_file.path);
       +
       +                fputs("\n+++ ", fp);
       +                if (delta->status & GIT_DELTA_DELETED)
       +                        fputs("/dev/null", fp);
       +                else
       +                        fprintf(fp, "b/<a href=\"%sfile/%s\">%s</a>",
       +                                relpath, delta->new_file.path, delta->new_file.path);
       +                fputs("</b>\n", fp);
        #endif
        
       +                /* check binary data */
       +                if (delta->flags & GIT_DIFF_FLAG_BINARY) {
       +                        fputs("Binary files differ\n", fp);
       +                        git_patch_free(patch);
       +                        continue;
       +                }
       +
                        nhunks = git_patch_num_hunks(patch);
                        for (j = 0; j < nhunks; j++) {
                                if (git_patch_get_hunk(&hunk, &nhunklines, patch, j))
       @@ -333,8 +347,8 @@ writelog(FILE *fp)
                      "<td align=\"right\">Files</td><td align=\"right\">+</td><td align=\"right\">-</td></tr>\n</thead><tbody>\n", fp);
                while (!git_revwalk_next(&id, w)) {
                        /* DEBUG */
       -                if (i++ > 100)
       -                        break;
       +/*                if (i++ > 100)
       +                        break;*/
        
                        relpath = "";