stagit-responsive

My mobile friendly fork of stagit
Log | 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);