Added documentation written in AsciiDoc (Fixes issue 45).

Using the AsciiDoc file, documentation was generated in man (troff), PDF
and HTML formats.
This commit is contained in:
Adam Waldenberg 2015-02-22 11:22:39 +01:00
parent 02b6db512b
commit e8648a51c2
5 changed files with 874 additions and 0 deletions

329
docs/docbook-xsl.css Normal file
View file

@ -0,0 +1,329 @@
/*
CSS stylesheet for XHTML produced by DocBook XSL stylesheets.
*/
body {
font-family: Georgia,serif;
}
code, pre {
font-family: "Courier New", Courier, monospace;
}
span.strong {
font-weight: bold;
}
body blockquote {
margin-top: .75em;
line-height: 1.5;
margin-bottom: .75em;
}
html body {
margin: 1em 5% 1em 5%;
line-height: 1.2;
}
body div {
margin: 0;
}
h1, h2, h3, h4, h5, h6
{
color: #527bbd;
font-family: Arial,Helvetica,sans-serif;
}
div.toc p:first-child,
div.list-of-figures p:first-child,
div.list-of-tables p:first-child,
div.list-of-examples p:first-child,
div.example p.title,
div.sidebar p.title
{
font-weight: bold;
color: #527bbd;
font-family: Arial,Helvetica,sans-serif;
margin-bottom: 0.2em;
}
body h1 {
margin: .0em 0 0 -4%;
line-height: 1.3;
border-bottom: 2px solid silver;
}
body h2 {
margin: 0.5em 0 0 -4%;
line-height: 1.3;
border-bottom: 2px solid silver;
}
body h3 {
margin: .8em 0 0 -3%;
line-height: 1.3;
}
body h4 {
margin: .8em 0 0 -3%;
line-height: 1.3;
}
body h5 {
margin: .8em 0 0 -2%;
line-height: 1.3;
}
body h6 {
margin: .8em 0 0 -1%;
line-height: 1.3;
}
body hr {
border: none; /* Broken on IE6 */
}
div.footnotes hr {
border: 1px solid silver;
}
div.navheader th, div.navheader td, div.navfooter td {
font-family: Arial,Helvetica,sans-serif;
font-size: 0.9em;
font-weight: bold;
color: #527bbd;
}
div.navheader img, div.navfooter img {
border-style: none;
}
div.navheader a, div.navfooter a {
font-weight: normal;
}
div.navfooter hr {
border: 1px solid silver;
}
body td {
line-height: 1.2
}
body th {
line-height: 1.2;
}
ol {
line-height: 1.2;
}
ul, body dir, body menu {
line-height: 1.2;
}
html {
margin: 0;
padding: 0;
}
body h1, body h2, body h3, body h4, body h5, body h6 {
margin-left: 0
}
body pre {
margin: 0.5em 10% 0.5em 1em;
line-height: 1.0;
color: navy;
}
tt.literal, code.literal {
color: navy;
}
.programlisting, .screen {
border: 1px solid silver;
background: #f4f4f4;
margin: 0.5em 10% 0.5em 0;
padding: 0.5em 1em;
}
div.sidebar {
background: #ffffee;
margin: 1.0em 10% 0.5em 0;
padding: 0.5em 1em;
border: 1px solid silver;
}
div.sidebar * { padding: 0; }
div.sidebar div { margin: 0; }
div.sidebar p.title {
margin-top: 0.5em;
margin-bottom: 0.2em;
}
div.bibliomixed {
margin: 0.5em 5% 0.5em 1em;
}
div.glossary dt {
font-weight: bold;
}
div.glossary dd p {
margin-top: 0.2em;
}
dl {
margin: .8em 0;
line-height: 1.2;
}
dt {
margin-top: 0.5em;
}
dt span.term {
font-style: normal;
color: navy;
}
div.variablelist dd p {
margin-top: 0;
}
div.itemizedlist li, div.orderedlist li {
margin-left: -0.8em;
margin-top: 0.5em;
}
ul, ol {
list-style-position: outside;
}
div.sidebar ul, div.sidebar ol {
margin-left: 2.8em;
}
div.itemizedlist p.title,
div.orderedlist p.title,
div.variablelist p.title
{
margin-bottom: -0.8em;
}
div.revhistory table {
border-collapse: collapse;
border: none;
}
div.revhistory th {
border: none;
color: #527bbd;
font-family: Arial,Helvetica,sans-serif;
}
div.revhistory td {
border: 1px solid silver;
}
/* Keep TOC and index lines close together. */
div.toc dl, div.toc dt,
div.list-of-figures dl, div.list-of-figures dt,
div.list-of-tables dl, div.list-of-tables dt,
div.indexdiv dl, div.indexdiv dt
{
line-height: normal;
margin-top: 0;
margin-bottom: 0;
}
/*
Table styling does not work because of overriding attributes in
generated HTML.
*/
div.table table,
div.informaltable table
{
margin-left: 0;
margin-right: 5%;
margin-bottom: 0.8em;
}
div.informaltable table
{
margin-top: 0.4em
}
div.table thead,
div.table tfoot,
div.table tbody,
div.informaltable thead,
div.informaltable tfoot,
div.informaltable tbody
{
/* No effect in IE6. */
border-top: 3px solid #527bbd;
border-bottom: 3px solid #527bbd;
}
div.table thead, div.table tfoot,
div.informaltable thead, div.informaltable tfoot
{
font-weight: bold;
}
div.mediaobject img {
margin-bottom: 0.8em;
}
div.figure p.title,
div.table p.title
{
margin-top: 1em;
margin-bottom: 0.4em;
}
div.calloutlist p
{
margin-top: 0em;
margin-bottom: 0.4em;
}
a img {
border-style: none;
}
@media print {
div.navheader, div.navfooter { display: none; }
}
span.aqua { color: aqua; }
span.black { color: black; }
span.blue { color: blue; }
span.fuchsia { color: fuchsia; }
span.gray { color: gray; }
span.green { color: green; }
span.lime { color: lime; }
span.maroon { color: maroon; }
span.navy { color: navy; }
span.olive { color: olive; }
span.purple { color: purple; }
span.red { color: red; }
span.silver { color: silver; }
span.teal { color: teal; }
span.white { color: white; }
span.yellow { color: yellow; }
span.aqua-background { background: aqua; }
span.black-background { background: black; }
span.blue-background { background: blue; }
span.fuchsia-background { background: fuchsia; }
span.gray-background { background: gray; }
span.green-background { background: green; }
span.lime-background { background: lime; }
span.maroon-background { background: maroon; }
span.navy-background { background: navy; }
span.olive-background { background: olive; }
span.purple-background { background: purple; }
span.red-background { background: red; }
span.silver-background { background: silver; }
span.teal-background { background: teal; }
span.white-background { background: white; }
span.yellow-background { background: yellow; }
span.big { font-size: 2em; }
span.small { font-size: 0.6em; }
span.underline { text-decoration: underline; }
span.overline { text-decoration: overline; }
span.line-through { text-decoration: line-through; }

291
docs/gitinspector.1 Normal file
View file

@ -0,0 +1,291 @@
'\" t
.\" Title: gitinspector
.\" Author: [see the "AUTHOR" section]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
.\" Date: 02/22/2015
.\" Manual: The gitinspector Manual
.\" Source: gitinspector 0.4.0
.\" Language: English
.\"
.TH "GITINSPECTOR" "1" "02/22/2015" "gitinspector 0\&.4\&.0" "The gitinspector Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
gitinspector \- statistical analysis tool for git repositories
.SH "SYNOPSIS"
.sp
\fBgitinspector\fR [OPTION]\&... [REPOSITORY]
.SH "DESCRIPTION"
.sp
Analyze and gather statistics about a git repository\&. The defaut analysis shows general statistics per author, which can be complemented with a timeline analysis that shows the workload and activity of each author\&. Under normal operation, gitinspector filters the results to only show statistics about a number of given extensions and by default only includes source files in the statistical analysis\&.
.sp
Several output formats are supported, including plain text, HTML and XML\&.
.SH "OPTIONS"
.sp
List information about the repository in REPOSITORY\&. If no repository is specified, the current directory is used\&. If multiple repositories are given, information will be fetched from the last repository specified\&.
.sp
Mandatory arguments to long options are mandatory for short options too\&. Boolean arguments can only be given to long options\&.
.PP
\fB\-f, \-\-file\-types\fR=EXTENSIONS
.RS 4
A comma separated list of file extensions to include when computing statistics\&. The default extensions used are: java,c,cc,cpp,h,hh,hpp,py,glsl,rb,js,sql
.RE
.PP
\fB\-F, \-\-format\fR=FORMAT
.RS 4
Defines in which format output should be generated; the default format is
\fItext\fR
and the available formats are: html,htmlembedded,text,xml (see
\fBOUTPUT FORMATS\fR)
.RE
.PP
\fB\-\-grading\fR[=BOOL]
.RS 4
Show statistics and information in a way that is formatted for grading of student projects; this is the same as supplying the options
\fB\-HlmrTw\fR
.RE
.PP
\fB\-H, \-\-hard\fR[=BOOL]
.RS 4
Track rows and look for duplicates harder; this can be quite slow with big repositories
.RE
.PP
\fB\-l, \-\-list\-file\-types\fR[=BOOL]
.RS 4
List all the file extensions available in the current branch of the repository
.RE
.PP
\fB\-L, \-\-localize\-output\fR[=BOOL]
.RS 4
Localize the generated output to the selected system language if a translation is available
.RE
.PP
\fB\-m, \-\-metrics\fR[=BOOL]
.RS 4
Include checks for certain metrics during the analysis of commits
.RE
.PP
\fB\-r \-\-responsibilities\fR[=BOOL]
.RS 4
Show which files the different authors seem most responsible for
.RE
.PP
\fB\-\-since\fR=DATE
.RS 4
Only show statistics for commits more recent than a specific date
.RE
.PP
\fB\-T, \-\-timeline\fR[=BOOL]
.RS 4
Show commit timeline, including author names
.RE
.PP
\fB\-\-until\fR=DATE
.RS 4
Only show statistics for commits older than a specific date
.RE
.PP
\fB\-w, \-\-weeks\fR[=BOOL]
.RS 4
Show all statistical information in weeks instead of in months
.RE
.PP
\fB\-x, \-\-exclude\fR=PATTERN
.RS 4
An exclusion pattern describing the file paths, revisions, author names or author emails that should be excluded from the statistics; can be specified multiple times (see
\fBFILTERING\fR)
.RE
.PP
\fB\-h, \-\-help\fR
.RS 4
Display help and exit
.RE
.PP
\fB\-\-version\fR
.RS 4
Output version information and exit
.RE
.SH "OUTPUT FORMATS"
.sp
There are support for multiple output formats in gitinspector\&. They can be selected using the \fB\-F\fR/\fB\-\-format\fR flags when running the main gitinspector script\&.
.PP
\fBtext (plain text)\fR
.RS 4
Plain text with some very simple ANSI formatting, suitable for console output\&. This is the format chosen by default by gitinspector\&.
.RE
.PP
\fBhtml\fR
.RS 4
HTML with external links\&. The generated HTML page links to some external resources; such as the JavaScript library JQuery\&. It requires an active internet connection to properly function\&. This output format will most likely also link to additional external resources in the future\&.
.RE
.PP
\fBhtmlembedded\fR
.RS 4
HTML with no external links\&. Similar to the HTML output format, but requires no active internet connection\&. As a consequence; the generated pages are bigger (as certain scripts have to be embedded into the generated output)\&.
.RE
.PP
\fBxml\fR
.RS 4
XML suitable for machine consumption\&. If you want to parse the output generated by gitinspector in a script or application of your own; this is the format you should choose\&.
.RE
.SH "FILTERING"
.sp
gitinspector offers several different ways of filtering out unwanted information from the generated statistics:
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fBgitinspector \-x myfile\fR, filter out and exclude statistics from all files (or paths) with the string "myfile"
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fBgitinspector \-x file:myfile\fR, filter out and exclude statistics from all files (or paths) with the string "myfile"
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fBgitinspector \-x author:John\fR, filter out and exclude statistics from all authors containing the string "John"
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fBgitinspector \-x email:@gmail\&.com\fR, filter out and exclude statistics from all authors with a gmail account
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fBgitinspector \-x revision:8755fb33\fR, filter out and exclude statistics from all revisions containing the hash "8755fb33"
.RE
.sp
The gitinspector command also lets you add multiple filtering rules by simply specifying the \-x options several times or by separating each filtering rule with a comma;
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fBgitinspector \-x author:John \-x email:@gmail\&.com\fR
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fBgitinspector \-x author:John,email:@gmail\&.com\fR
.RE
.sp
Sometimes, sub\-string matching (as described above) is simply not enough\&. Therefore, gitinspector let\(cqs you specify regular expressions as filtering rules\&. This makes filtering much more flexible:
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fBgitinspector \-x "author:\e^(?!(John Smith))"\fR, only show statistics from author "John Smith"
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fBgitinspector \-x "author:\e^(?!([A\-C]))"\fR, only show statistics from authors starting with the letters A/B/C
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fBgitinspector \-x "email:\&.com$"\fR, filter out statistics from all email addresses ending with "\&.com"
.RE
.SH "USING GIT TO CONFIGURE GITINSPECTOR"
.sp
Options in gitinspector can be set using \fBgit config\fR\&. Consequently, it is possible to configure gitinspector behavior globally (in all git repositories) or locally (in a specific git repository)\&. It also means that settings will be permanently stored\&. All the long options that can be given to gitinspector can also be configure via git config (and take the same arguments)\&.
.sp
To configure how gitinspector should behave in all git repositories, execute the following git command:
.sp
\fBgit config \-\-global inspector\&.option setting\fR
.sp
To configure how gitinspector should behave in a specific git repository, execute the following git command (with the current directory standing inside the repository in question):
.sp
\fBgit config inspector\&.option setting\fR
.SH "AUTHOR"
.sp
Originally written by Adam Waldenberg\&.
.SH "REPORTING BUGS"
.sp
Report gitinspector bugs to gitinspector@ejwa\&.se
.sp
The gitinspector project page: http://gitinspector\&.googlecode\&.com
.sp
If you encounter problems, be sure to read the FAQ first: http://code\&.google\&.com/p/gitinspector/wiki/FAQ
.SH "COPYRIGHT"
.sp
Copyright \(co 2012\-2015 Ejwa Software\&. All rights reserved\&. License GPLv3+: GNU GPL version 3 or later http://gnu\&.org/licenses/gpl\&.html\&. This is free software: you are free to change and redistribute it\&. There is NO WARRANTY, to the extent permitted by law\&.
.SH "SEE ALSO"
.sp
\fBgit\fR(1)

99
docs/gitinspector.html Normal file
View file

@ -0,0 +1,99 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>gitinspector</title><link rel="stylesheet" type="text/css" href="docbook-xsl.css" /><meta name="generator" content="DocBook XSL Stylesheets V1.78.1" /></head><body><div xml:lang="en" class="refentry" lang="en"><a id="idp33825584"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>gitinspector — statistical analysis tool for git repositories</p></div><div class="refsynopsisdiv"><a id="_synopsis"></a><h2>Synopsis</h2><p><span class="strong"><strong>gitinspector</strong></span> [OPTION]… [REPOSITORY]</p></div><div class="refsect1"><a id="_description"></a><h2>DESCRIPTION</h2><p>Analyze and gather statistics about a git repository. The defaut analysis shows general statistics per author, which can be complemented with a timeline analysis that shows the workload and activity of each author. Under normal operation, gitinspector filters the results to only show statistics about a number of given extensions and by default only includes source files in the statistical analysis.</p><p>Several output formats are supported, including plain text, HTML and XML.</p></div><div class="refsect1"><a id="_options"></a><h2>OPTIONS</h2><p>List information about the repository in REPOSITORY. If no repository is specified, the current directory is used. If multiple repositories are given, information will be fetched from the last repository specified.</p><p>Mandatory arguments to long options are mandatory for short options too. Boolean arguments can only be given to long options.</p><div class="variablelist"><dl class="variablelist"><dt><span class="term">
<span class="strong"><strong>-f, --file-types</strong></span>=EXTENSIONS
</span></dt><dd>
A comma separated list of file extensions to include when computing statistics. The default extensions used are: java,c,cc,cpp,h,hh,hpp,py,glsl,rb,js,sql
</dd><dt><span class="term">
<span class="strong"><strong>-F, --format</strong></span>=FORMAT
</span></dt><dd>
Defines in which format output should be generated; the default format is <span class="emphasis"><em>text</em></span> and the available formats are: html,htmlembedded,text,xml (see <a class="link" href="#X1" title="OUTPUT FORMATS"><span class="strong"><strong>OUTPUT FORMATS</strong></span></a>)
</dd><dt><span class="term">
<span class="strong"><strong>--grading</strong></span>[=BOOL]
</span></dt><dd>
Show statistics and information in a way that is formatted for grading of student projects; this is the same as supplying the options <span class="strong"><strong>-HlmrTw</strong></span>
</dd><dt><span class="term">
<span class="strong"><strong>-H, --hard</strong></span>[=BOOL]
</span></dt><dd>
Track rows and look for duplicates harder; this can be quite slow with big repositories
</dd><dt><span class="term">
<span class="strong"><strong>-l, --list-file-types</strong></span>[=BOOL]
</span></dt><dd>
List all the file extensions available in the current branch of the repository
</dd><dt><span class="term">
<span class="strong"><strong>-L, --localize-output</strong></span>[=BOOL]
</span></dt><dd>
Localize the generated output to the selected system language if a translation is available
</dd><dt><span class="term">
<span class="strong"><strong>-m, --metrics</strong></span>[=BOOL]
</span></dt><dd>
Include checks for certain metrics during the analysis of commits
</dd><dt><span class="term">
<span class="strong"><strong>-r --responsibilities</strong></span>[=BOOL]
</span></dt><dd>
Show which files the different authors seem most responsible for
</dd><dt><span class="term">
<span class="strong"><strong>--since</strong></span>=DATE
</span></dt><dd>
Only show statistics for commits more recent than a specific date
</dd><dt><span class="term">
<span class="strong"><strong>-T, --timeline</strong></span>[=BOOL]
</span></dt><dd>
Show commit timeline, including author names
</dd><dt><span class="term">
<span class="strong"><strong>--until</strong></span>=DATE
</span></dt><dd>
Only show statistics for commits older than a specific date
</dd><dt><span class="term">
<span class="strong"><strong>-w, --weeks</strong></span>[=BOOL]
</span></dt><dd>
Show all statistical information in weeks instead of in months
</dd><dt><span class="term">
<span class="strong"><strong>-x, --exclude</strong></span>=PATTERN
</span></dt><dd>
An exclusion pattern describing the file paths, revisions, author names or author emails that should be excluded from the statistics; can be specified multiple times (see <a class="link" href="#X2" title="FILTERING"><span class="strong"><strong>FILTERING</strong></span></a>)
</dd><dt><span class="term">
<span class="strong"><strong>-h, --help</strong></span>
</span></dt><dd>
Display help and exit
</dd><dt><span class="term">
<span class="strong"><strong>--version</strong></span>
</span></dt><dd>
Output version information and exit
</dd></dl></div></div><div class="refsect1"><a id="X1"></a><h2>OUTPUT FORMATS</h2><p>There are support for multiple output formats in gitinspector. They can be selected using the <span class="strong"><strong>-F</strong></span>/<span class="strong"><strong>--format</strong></span> flags when running the main gitinspector script.</p><div class="variablelist"><dl class="variablelist"><dt><span class="term">
<span class="strong"><strong>text (plain text)</strong></span>
</span></dt><dd>
Plain text with some very simple ANSI formatting, suitable for console output. This is the format chosen by default by gitinspector.
</dd><dt><span class="term">
<span class="strong"><strong>html</strong></span>
</span></dt><dd>
HTML with external links. The generated HTML page links to some external resources; such as the JavaScript library JQuery. It requires an active internet connection to properly function. This output format will most likely also link to additional external resources in the future.
</dd><dt><span class="term">
<span class="strong"><strong>htmlembedded</strong></span>
</span></dt><dd>
HTML with no external links. Similar to the HTML output format, but requires no active internet connection. As a consequence; the generated pages are bigger (as certain scripts have to be embedded into the generated output).
</dd><dt><span class="term">
<span class="strong"><strong>xml</strong></span>
</span></dt><dd>
XML suitable for machine consumption. If you want to parse the output generated by gitinspector in a script or application of your own; this is the format you should choose.
</dd></dl></div></div><div class="refsect1"><a id="X2"></a><h2>FILTERING</h2><p>gitinspector offers several different ways of filtering out unwanted information from the generated statistics:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
<span class="strong"><strong>gitinspector -x myfile</strong></span>, filter out and exclude statistics from all files (or paths) with the string "myfile"
</li><li class="listitem">
<span class="strong"><strong>gitinspector -x file:myfile</strong></span>, filter out and exclude statistics from all files (or paths) with the string "myfile"
</li><li class="listitem">
<span class="strong"><strong>gitinspector -x author:John</strong></span>, filter out and exclude statistics from all authors containing the string "John"
</li><li class="listitem">
<span class="strong"><strong>gitinspector -x email:@gmail.com</strong></span>, filter out and exclude statistics from all authors with a gmail account
</li><li class="listitem">
<span class="strong"><strong>gitinspector -x revision:8755fb33</strong></span>, filter out and exclude statistics from all revisions containing the hash "8755fb33"
</li></ul></div><p>The gitinspector command also lets you add multiple filtering rules by simply specifying the -x options several times or by separating each filtering rule with a comma;</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
<span class="strong"><strong>gitinspector -x author:John -x email:@gmail.com</strong></span>
</li><li class="listitem">
<span class="strong"><strong>gitinspector -x author:John,email:@gmail.com</strong></span>
</li></ul></div><p>Sometimes, sub-string matching (as described above) is simply not enough. Therefore, gitinspector lets you specify regular expressions as filtering rules. This makes filtering much more flexible:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
<span class="strong"><strong>gitinspector -x "author:\^(?!(John Smith))"</strong></span>, only show statistics from author "John Smith"
</li><li class="listitem">
<span class="strong"><strong>gitinspector -x "author:\^(?!([A-C]))"</strong></span>, only show statistics from authors starting with the letters A/B/C
</li><li class="listitem">
<span class="strong"><strong>gitinspector -x "email:.com$"</strong></span>, filter out statistics from all email addresses ending with ".com"
</li></ul></div></div><div class="refsect1"><a id="_using_git_to_configure_gitinspector"></a><h2>USING GIT TO CONFIGURE GITINSPECTOR</h2><p>Options in gitinspector can be set using <span class="strong"><strong>git config</strong></span>. Consequently, it is possible to configure gitinspector behavior globally (in all git repositories) or locally (in a specific git repository). It also means that settings will be permanently stored. All the long options that can be given to gitinspector can also be configure via git config (and take the same arguments).</p><p>To configure how gitinspector should behave in all git repositories, execute the following git command:</p><p><span class="strong"><strong>git config --global inspector.option setting</strong></span></p><p>To configure how gitinspector should behave in a specific git repository, execute the following git command (with the current directory standing inside the repository in question):</p><p><span class="strong"><strong>git config inspector.option setting</strong></span></p></div><div class="refsect1"><a id="_author"></a><h2>AUTHOR</h2><p>Originally written by Adam Waldenberg.</p></div><div class="refsect1"><a id="_reporting_bugs"></a><h2>REPORTING BUGS</h2><p>Report gitinspector bugs to <a class="ulink" href="mailto:gitinspector@ejwa.se" target="_top">gitinspector@ejwa.se</a></p><p>The gitinspector project page: <a class="ulink" href="http://gitinspector.googlecode.com" target="_top">http://gitinspector.googlecode.com</a></p><p>If you encounter problems, be sure to read the FAQ first: <a class="ulink" href="http://code.google.com/p/gitinspector/wiki/FAQ" target="_top">http://code.google.com/p/gitinspector/wiki/FAQ</a></p></div><div class="refsect1"><a id="_copyright"></a><h2>COPYRIGHT</h2><p>Copyright © 2012-2015 Ejwa Software. All rights reserved. License GPLv3+: GNU GPL version 3 or later <a class="ulink" href="http://gnu.org/licenses/gpl.html" target="_top">http://gnu.org/licenses/gpl.html</a>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.</p></div><div class="refsect1"><a id="_see_also"></a><h2>SEE ALSO</h2><p><span class="strong"><strong>git</strong></span>(1)</p></div></div></body></html>

BIN
docs/gitinspector.pdf Normal file

Binary file not shown.

155
docs/gitinspector.txt Normal file
View file

@ -0,0 +1,155 @@
// a2x -v gitinspector.txt; a2x -v -f manpage gitinspector.txt; a2x -v -f xhtml gitinspector.txt
GITINSPECTOR(1)
===============
:doctype: manpage
:man version: 0.4.0
:man source: gitinspector
:man manual: The gitinspector Manual
NAME
----
gitinspector - statistical analysis tool for git repositories
SYNOPSIS
--------
*gitinspector* [OPTION]... [REPOSITORY]
DESCRIPTION
-----------
Analyze and gather statistics about a git repository. The defaut analysis shows general statistics per author, which can be complemented with a timeline analysis that shows the workload and activity of each author. Under normal operation, gitinspector filters the results to only show statistics about a number of given extensions and by default only includes source files in the statistical analysis.
Several output formats are supported, including plain text, HTML and XML.
OPTIONS
-------
List information about the repository in REPOSITORY. If no repository is specified, the current directory is used. If multiple repositories are given, information will be fetched from the last repository specified.
Mandatory arguments to long options are mandatory for short options too. Boolean arguments can only be given to long options.
*-f, --file-types*=EXTENSIONS::
A comma separated list of file extensions to include when computing statistics. The default extensions used are: java,c,cc,cpp,h,hh,hpp,py,glsl,rb,js,sql
*-F, --format*=FORMAT::
Defines in which format output should be generated; the default format is 'text' and the available formats are: html,htmlembedded,text,xml (see <<X1,*OUTPUT FORMATS*>>)
*--grading*[=BOOL]::
Show statistics and information in a way that is formatted for grading of student projects; this is the same as supplying the options *-HlmrTw*
*-H, --hard*[=BOOL]::
Track rows and look for duplicates harder; this can be quite slow with big repositories
*-l, --list-file-types*[=BOOL]::
List all the file extensions available in the current branch of the repository
*-L, --localize-output*[=BOOL]::
Localize the generated output to the selected system language if a translation is available
*-m, --metrics*[=BOOL]::
Include checks for certain metrics during the analysis of commits
*-r --responsibilities*[=BOOL]::
Show which files the different authors seem most responsible for
*--since*=DATE::
Only show statistics for commits more recent than a specific date
*-T, --timeline*[=BOOL]::
Show commit timeline, including author names
*--until*=DATE::
Only show statistics for commits older than a specific date
*-w, --weeks*[=BOOL]::
Show all statistical information in weeks instead of in months
*-x, --exclude*=PATTERN::
An exclusion pattern describing the file paths, revisions, author names or author emails that should be excluded from the statistics; can be specified multiple times (see <<X2,*FILTERING*>>)
*-h, --help*::
Display help and exit
*--version*::
Output version information and exit
[[X1]]
OUTPUT FORMATS
--------------
There are support for multiple output formats in gitinspector. They can be selected using the *-F*/*--format* flags when running the main gitinspector script.
*text (plain text)*::
Plain text with some very simple ANSI formatting, suitable for console output. This is the format chosen by default by gitinspector.
*html*::
HTML with external links. The generated HTML page links to some external resources; such as the JavaScript library JQuery. It requires an active internet connection to properly function. This output format will most likely also link to additional external resources in the future.
*htmlembedded*::
HTML with no external links. Similar to the HTML output format, but requires no active internet connection. As a consequence; the generated pages are bigger (as certain scripts have to be embedded into the generated output).
*xml*::
XML suitable for machine consumption. If you want to parse the output generated by gitinspector in a script or application of your own; this is the format you should choose.
[[X2]]
FILTERING
---------
gitinspector offers several different ways of filtering out unwanted information from the generated statistics:
* *gitinspector -x myfile*, filter out and exclude statistics from all files (or paths) with the string "myfile"
* *gitinspector -x file:myfile*, filter out and exclude statistics from all files (or paths) with the string "myfile"
* *gitinspector -x author:John*, filter out and exclude statistics from all authors containing the string "John"
* *gitinspector -x email:@gmail.com*, filter out and exclude statistics from all authors with a gmail account
* *gitinspector -x revision:8755fb33*, filter out and exclude statistics from all revisions containing the hash "8755fb33"
The gitinspector command also lets you add multiple filtering rules by simply specifying the -x options several times or by separating each filtering rule with a comma;
* *gitinspector -x author:John -x email:@gmail.com*
* *gitinspector -x author:John,email:@gmail.com*
Sometimes, sub-string matching (as described above) is simply not enough. Therefore, gitinspector let's you specify regular expressions as filtering rules. This makes filtering much more flexible:
* *gitinspector -x "author:\^(?!(John Smith))"*, only show statistics from author "John Smith"
* *gitinspector -x "author:\^(?!([A-C]))"*, only show statistics from authors starting with the letters A/B/C
* *gitinspector -x "email:.com$"*, filter out statistics from all email addresses ending with ".com"
USING GIT TO CONFIGURE GITINSPECTOR
-----------------------------------
Options in gitinspector can be set using *git config*. Consequently, it is possible to configure gitinspector behavior globally (in all git repositories) or locally (in a specific git repository). It also means that settings will be permanently stored. All the long options that can be given to gitinspector can also be configure via git config (and take the same arguments).
To configure how gitinspector should behave in all git repositories, execute the following git command:
*git config --global inspector.option setting*
To configure how gitinspector should behave in a specific git repository, execute the following git command (with the current directory standing inside the repository in question):
*git config inspector.option setting*
AUTHOR
------
Originally written by Adam Waldenberg.
REPORTING BUGS
--------------
Report gitinspector bugs to gitinspector@ejwa.se
The gitinspector project page: <http://gitinspector.googlecode.com>
If you encounter problems, be sure to read the FAQ first: <http://code.google.com/p/gitinspector/wiki/FAQ>
COPYRIGHT
---------
Copyright (C) 2012-2015 Ejwa Software. All rights reserved. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.
SEE ALSO
--------
*git*(1)