separate getstats from getbyoid: slightly faster - stagit - static git page generator
 (HTM) git clone git://git.codemadness.org/stagit
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit f843248215c1f87d732b2aec27b1d30c0ceba163
 (DIR) parent 54a8a7c1533ce60e3cbe8539bf1e801225d0fabd
 (HTM) Author: Hiltjo Posthuma <hiltjo@codemadness.org>
       Date:   Fri, 23 Jun 2017 13:53:46 +0200
       
       separate getstats from getbyoid: slightly faster
       
       Diffstat:
         M stagit.c                            |       6 ++++--
       
       1 file changed, 4 insertions(+), 2 deletions(-)
       ---
 (DIR) diff --git a/stagit.c b/stagit.c
       @@ -208,8 +208,6 @@ commitinfo_getbyoid(const git_oid *id)
                opts.flags |= GIT_DIFF_DISABLE_PATHSPEC_MATCH;
                if (git_diff_tree_to_tree(&(ci->diff), repo, ci->parent_tree, ci->commit_tree, &opts))
                        goto err;
       -        if (commitinfo_getstats(ci) == -1)
       -                goto err;
        
                return ci;
        
       @@ -575,6 +573,9 @@ writelog(FILE *fp, const git_oid *oid)
                                break;
                        if (!(ci = commitinfo_getbyoid(&id)))
                                break;
       +                /* lookup stats: only required here */
       +                if (commitinfo_getstats(ci) == -1)
       +                        goto err;
        
                        writelogline(fp, ci);
                        if (cachefile)
       @@ -596,6 +597,7 @@ writelog(FILE *fp, const git_oid *oid)
                                writefooter(fpfile);
                                fclose(fpfile);
                        }
       +err:
                        commitinfo_free(ci);
                }
                git_revwalk_free(w);