stagit

custom fork of stagit
Index Commits Files Refs README LICENSE
commit 30116a4ef2c1d90a3662b2878e54f3da2fc56894
parent 44a49f51db565cbfc31f31393d8dcdec1cdc8167
Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date:   Sun, 29 May 2016 15:04:52 +0200

treat an empty repo (without a HEAD) as valid

and create the standard files. Disable caching if there is no HEAD.

Diffstat:
Mstagit.c | 15++++++++++-----
1 file changed, 10 insertions(+), 5 deletions(-)
diff --git a/stagit.c b/stagit.c
@@ -1038,11 +1038,14 @@ main(int argc, char *argv[])
     }
 
     /* find HEAD */
-    if (git_revparse_single(&obj, repo, "HEAD"))
-        return 1;
-    head = git_object_id(obj);
+    if (!git_revparse_single(&obj, repo, "HEAD"))
+        head = git_object_id(obj);
     git_object_free(obj);
 
+    /* don't cache if there is no HEAD */
+    if (!head)
+        cachefile = NULL;
+
     /* use directory name as name */
     if ((name = strrchr(repodirabs, '/')))
         name++;
@@ -1138,7 +1141,8 @@ main(int argc, char *argv[])
         }
         fclose(wcachefp);
     } else {
-        writelog(fp, head);
+        if (head)
+            writelog(fp, head);
     }
 
     fputs("</tbody></table>", fp);
@@ -1148,7 +1152,8 @@ main(int argc, char *argv[])
     /* files for HEAD */
     fp = efopen("files.html", "w");
     writeheader(fp, "Files");
-    writefiles(fp, head, "HEAD");
+    if (head)
+        writefiles(fp, head, "HEAD");
     writefooter(fp);
     fclose(fp);