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);