treat an empty repo (without a HEAD) as valid - stagit-gopher - A git gopher frontend. (mirror)
git clone git://bitreich.org/stagit-gopher/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/stagit-gopher/
Log
Files
Refs
Tags
README
LICENSE
---
commit 30116a4ef2c1d90a3662b2878e54f3da2fc56894
parent 44a49f51db565cbfc31f31393d8dcdec1cdc8167
Author: Hiltjo Posthuma 
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:
  M stagit.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("
", 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);