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,
Florent


_______________________________________________
cgit mailing list
[email protected]
http://hjemli.net/mailman/listinfo/cgit

Reply via email to