stagit-responsive

My mobile friendly fork of stagit
Log | Files | Refs | README | LICENSE

commit df3ea10eca41a20aed38a12d9189fb745075e913
parent 518556d7b0fd5fa215384926d558d29a3c42a5da
Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date:   Sun,  8 May 2016 20:35:49 +0200

check if LICENSE, README and .gitmodules is a file blob

don't link to directory trees, etc. Thanks 600360 for reporting it!

Diffstat:
Mstagit.c | 11++++++++---

1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/stagit.c b/stagit.c
@@ -1085,12 +1085,17 @@ main(int argc, char *argv[])
 	}
 
 	/* check LICENSE */
-	haslicense = !git_revparse_single(&obj, repo, "HEAD:LICENSE");
+	haslicense = (!git_revparse_single(&obj, repo, "HEAD:LICENSE") &&
+		git_object_type(obj) == GIT_OBJ_BLOB);
 	git_object_free(obj);
+
 	/* check README */
-	hasreadme = !git_revparse_single(&obj, repo, "HEAD:README");
+	hasreadme = (!git_revparse_single(&obj, repo, "HEAD:README") &&
+		git_object_type(obj) == GIT_OBJ_BLOB);
 	git_object_free(obj);
-	hassubmodules = !git_revparse_single(&obj, repo, "HEAD:.gitmodules");
+
+	hassubmodules = (!git_revparse_single(&obj, repo, "HEAD:.gitmodules") &&
+		git_object_type(obj) == GIT_OBJ_BLOB);
 	git_object_free(obj);
 
 	/* log for HEAD */