stagit

separate getstats from getbyoid: slightly faster

Hiltjo Posthuma contact@arjunchoudhary.com

commit: fcf50d5 parent: 124f87e
1 files changed, 4 insertions(+), 2 deletions(-)
Mstagit.c+4-2
M · stagit.c +4, -2
 1@@ -208,8 +208,6 @@ commitinfo_getbyoid(const git_oid *id)
 2 	opts.flags |= GIT_DIFF_DISABLE_PATHSPEC_MATCH;
 3 	if (git_diff_tree_to_tree(&(ci->diff), repo, ci->parent_tree, ci->commit_tree, &opts))
 4 		goto err;
 5-	if (commitinfo_getstats(ci) == -1)
 6-		goto err;
 7 
 8 	return ci;
 9 
10@@ -575,6 +573,9 @@ writelog(FILE *fp, const git_oid *oid)
11 			break;
12 		if (!(ci = commitinfo_getbyoid(&id)))
13 			break;
14+		/* lookup stats: only required here */
15+		if (commitinfo_getstats(ci) == -1)
16+			goto err;
17 
18 		writelogline(fp, ci);
19 		if (cachefile)
20@@ -596,6 +597,7 @@ writelog(FILE *fp, const git_oid *oid)
21 			writefooter(fpfile);
22 			fclose(fpfile);
23 		}
24+err:
25 		commitinfo_free(ci);
26 	}
27 	git_revwalk_free(w);