On Tue, Sep 13, 2011 at 16:23, Vial, Florent <[email protected]> wrote:
> 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.

You probably want to look at ui-log.c, which implements this per
commit for the log view.

From http://hjemli.net/git/cgit/tree/ui-log.c#n172:

        if (ctx.repo->enable_log_filecount || ctx.repo->enable_log_linecount) {
                files = 0;
                add_lines = 0;
                rem_lines = 0;
                cgit_diff_commit(commit, inspect_files, ctx.qry.vpath);
        }

-- 
larsh

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

Reply via email to