check if LICENSE, README and .gitmodules is a file blob - stagit-gopher - A git gopher frontend. (mirror)
 (HTM) git clone git://bitreich.org/stagit-gopher/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/stagit-gopher/
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) Tags
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit df3ea10eca41a20aed38a12d9189fb745075e913
 (DIR) parent 518556d7b0fd5fa215384926d558d29a3c42a5da
 (HTM) 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:
         M stagit.c                            |      11 ++++++++---
       
       1 file changed, 8 insertions(+), 3 deletions(-)
       ---
 (DIR) 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 */