how to acess a commit diffstat from the summary page?

Vial, Florent florent.vial at
Tue Sep 13 16:23:44 CEST 2011

Hi all,

I have a question for a problem I am not able to resolve on my own.
My intention is following: I want to add a column for each commit in the summary tab that displays only the diffstat summary of that commit (i.e the "X files changed, Y insertions, Z deletions" part).
For that I refactored in my previous patches all the cgit_print_commit functions to be able to use them in a flexible way in some other parts of cgit, in my case ui-summary.c.
Unfortunately, the variables storing the diff information per commit are all static variables  in ui-diff.c (static int total_adds, total_rems, max_changes).
The consequence is that when I call:

cgit_print_diffstat(old_rev_sha1, new_rev_sha1, prefix, show_diffstat_summary_only);

the variables are not reset properly and the diff counting keeps increasing. I tried to reset the variables before hand but that did not work either.
My feeling is that I have to somehow fake a query for each commit in the summary tab, which is ugly.
Does someone know the inner functioning of ui-diff and could help me use it properly and/or rewrite it to avoid use of static variables?

Thank you in advance,

More information about the CGit mailing list