.\" .\" ggcov - A GTK frontend for exploring gcov coverage data .\" Copyright (c) 2003-2020 Greg Banks .\" .\" This program is free software; you can redistribute it and/or modify .\" it under the terms of the GNU General Public License as published by .\" the Free Software Foundation; either version 2 of the License, or .\" (at your option) any later version. .\" .\" This program is distributed in the hope that it will be useful, .\" but WITHOUT ANY WARRANTY; without even the implied warranty of .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public License .\" along with this program; if not, write to the Free Software .\" Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA .\" .TH GIT-HISTORY-COVERAGE "1" "Feb 2011" "GGCOV" "Greg Banks" .SH NAME git-history-coverage \- summarise test coverage for recent git commits .SH SYNOPSIS \fBgit-history-coverage\fP [\fIoptions\fP] \fIrev-list\fP .SH DESCRIPTION .PP \fBGit-history-coverage\fP extracts test coverage data produced by C and C++ programs compiled with \fIgcc \-\-coverage\fP, and correlates it to git commits, printing a coverage summary which shows how well tested recent code changes have been. This is useful for nightly builds and Continuous Integration systems such as Jenkins. .PP For the output of \fBgit-history-coverage\fP to make any sense, the coverage data must be generated by running code which corresponds to the last commit in the range specified by \fIrev-list\fP. .PP When used without any options, \fBgit-history-coverage\fP prints three summaries. .TP .B overall A summary of all the commits specified by \fIrev-list\fP. .TP .B by author A summary split up by each author represented in the set of commits specified by \fIrev-list\fP. .TP .B by commit A summary for each individual commit in the set of commits specified by \fIrev-list\fP. .PP For each of these summaries, \fBgit-history-coverage\fP prints statistics showing how many lines of code were in the commits, how many lines represent executable code (as opposed to comments, test code, or infrastructure like Makefiles), and how many lines were actually executed in tests. .SH OPTIONS .TP \fB\-\-summary\-overall\fP Print the \fBoverall\fP summary (with no options, all three summaries are printed). .TP \fB\-\-summary\-by\-author\fP Print the \fBby author\fP summary (with no options, all three summaries are printed). .TP \fB\-\-summary\-by\-commit\fP Print the \fBby commit\fP summary (with no options, all three summaries are printed). .TP \fB\-\-gcda\-prefix\fP=\fIdir\fP Look for \fI.gcda\fP files underneath the directory \fIdir\fP. This option is used to read runtime coverage information written when a test program is run using the same \fP--gcda-prefix\fP option to \fBggcov-run\fP. .SH AUTHOR Written by Greg Banks .IR . .SH COPYRIGHT ggcov is Copyright \(co 2001\-2020 Greg Banks \fI\fP. .br This is free software; see the COPYING file for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. .SH SEE ALSO .PP \fBggcov-run\fP(1).