how to acess a commit diffstat from the summary page?

Lars Hjemli hjemli at gmail.com
Wed Sep 14 08:02:36 CEST 2011


On Tue, Sep 13, 2011 at 16:23, Vial, Florent <florent.vial at intel.com> 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




More information about the CGit mailing list