\n\n", fp); while (!git_revwalk_next(&id, w)) { /* DEBUG */ - if (i++ > 100) - break; +/* if (i++ > 100) + break;*/ relpath = "";
tdetect binary diff, comment index + delta header for now (broken) - stagit - static git page generator
git clone git://src.adamsgaard.dk/stagit
Log
Files
Refs
README
LICENSE
---
commit fe5855546a20df48fd60e8c78674ff91fbcfc710
parent 18e6c1beda47949082d0630fb3a697438b2e80d9
Author: Hiltjo Posthuma 
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(-)
---
diff --git a/urmoms.c b/urmoms.c
t@@ -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 ". */
+                /* 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("--- ", fp);
+                if (delta->status & GIT_DELTA_ADDED)
+                        fputs("/dev/null", fp);
+                else
+                        fprintf(fp, "a/%s",
+                                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/%s",
+                                relpath, delta->new_file.path, delta->new_file.path);
+                fputs("\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))
t@@ -333,8 +347,8 @@ writelog(FILE *fp)
               "
Files+-