Output
Multiple output formats can be selected, resulting in a separate output file for every selected format. See the GUI documentation or CLI documentation for information on this option.
Output formats and viewer options
File output formats
html
and excel
Output is generated in the form of tables and saved in a file per
repository.
html
output is the default and most user-friendly output format, that can be displayed
in the system's web browser. For multiple repositories, each repository is shown in a
separate tab.
Excel
tables are similar to html
tables, but have more options. Each column header
in an excel table has a triangle button which activates a dropdown menu for sorting and
filtering. For single repositories, the output is opened in Excel for viewing.
View option auto
- In the case of file output, the output file is opened in the default viewer for the file type.
- If no file output format is selected, the output is shown in the system web browser.
The address is of the form
localhost:8080/?v=reponame-2d0c4e242077
, wherereponame
is the name of the repository and2d0c4e242077
is a random unique 12-character string. When the user no longer needs the generated page(s), the page(s) should be closed, or the web browser can be closed, so that the server can be stopped and gitinspectorgui is ready for analysis of another repository.
View option dynamic blame history
This option is allowed only when no file output formats are selected. The output pages
that are displayed in the system web browser are similar to the pages generated for view
option auto
with no file output. The only difference is that additional blame
information tables can be generated on the fly and displayed for each relevant commit in
the repository. These commits are shown in the top line of the blame pages. The user can
select a commit from the list to see the file as it was at that commit with the lines
colored according to the author of the last change to that line.
Output tables
For html and excel, output is generated in tables. Html tables are show in a browser window.
There are two kinds of tables: numerical analysis tables and blame tables. The format of the tables is described in more detail in the next sections.
Numerical analysis tables Shown in four tables, each table in a separate tab (html) or
worksheet: Authors
, Authors-Files
Files-Authors
and Files
. The worksheet
Authors
combines the results of all files, the worksheets Authors-Files
and
Files-Authors
show results per author and per file, and the worksheet Files
combines
the results of all authors. The tables show among others the total number of insertions
per author, per file, or per author-file combination. Also shown is the number of lines
per author in the final version of each file.
Blame tables The options N files
(--n-files
) or File pattern
(--include-files
)
select the files for analysis. For each of the selected files, a blame tab or worksheet
is generated, unless the option Blame skip
is active, see
Blame options GUI or Blame options CLI.
Numerical analysis tables
Default columns
The default columns in the text output and in the Authors sheet of the Excel output follow below.
Author
Author name(s). If the same author uses multiple names, they are separated by
the |
symbol.
We define NrAuthors
as the number of authors that have done commits in the considered
repository, excluding any authors matching the Author
exclusion pattern. The value of NrAuthors
is used in
several formulas that are given below.
Email
Email address(es) of Author
. If the same author uses multiple email addresses,
they are separated by the |
symbol.
Lines %
Percentage of lines of code of this author. The author of a line is the author
who last changed the line.
Lines %
= 100 Lines
/ SumLines
Where SumLines
is the sum the values of Lines
for each of the NrAuthors
authors of
the repository.
Insertions %
Percentage of insertions done by this author.
Insertions %
= 100 Insertions
/ SumInsertions
Where SumInsertions
is the sum of the values of the Insertions
for each of the
NrAuthors
authors of the repository.
The sum of Insertions %
of the NrAuthors
authors equals 100%.
Lines
Total number of Lines of the Author
. The Author
of a line in a file is the
one who made the last change to that line. The author of each line in a file is shown by
Git Blame.
Insertions
Total number of insertions in in Repository
done by Author
.
Stability %
Stability %
= 100 Lines
/ Insertions
.
For example:
- When
Insertions
=Lines
, we get maximum stability of 100%. - When on average each line is changed once, then
Insertions
= 2Lines
since for the initial version of the file
Insertions
=Lines
. Then
Stability
= 100Lines
/ 2Lines
= 50%.
Commits
Number of commits in Repository
done by Author
.
Deletions
Total number of deletions in in Repository
done by Author
.
Age
The average of the ages of the lines inserted by Author
. Age
is expressed as
Y-M-D
, as in 1-4-20
meaning one year, 4 months and 20 days old.
1. The Age
of an inserted line is the difference between the current time and the
time of the commit of the insertion.
2. The Age
of a file is the average of the ages Age_i
of each line inserted in the
file over the lifetime of the file.
3. The Age
of an author is the average of the ages of all lines inserted by that
author.
4. In general, the Age
of a combination of authors or files, is the average of the
ages of each inserted line by that combination of authors or files:
Age
= (Age_1
+ ... + Age_n
)/n
where n
is the total of all lines inserted by the combination of authors and files
over the complete lifetime of the files, including insertions in previous versions of
the file in the case of file renames.
Additional columns
The option Scaled percentages
inserts for each %
column, a Scaled %
column. The
average value in each Scaled %
column for the authors in the repository is always 100,
independently of the number of authors. This is achieved by multiplying the %
column
by NrAuthors
in each repository to get the Scaled %
column.
Scaled Lines %
Scaled percentage of Lines %
.
Scaled insertions %
Scaled percentage of Insertions %
.
Blame tables
HTML and Excel
ID
ID of the author shown in the second column. The author with ID 1 is the author of
the most lines in the file. The author with ID 2 is the author of the second most lines
in the file, and so on. The author of a line in the file in a blame tab or blame sheet
is the author who last changed the line. All lines of the same author in the file have
the same color. The first six authors have unique colors, the other authors share the
same color.
Author
The name of the author of the line.
Date
Date of the commit.
Message
Commit message.
SHA
Short, seven character version of the commit hash.
Commit number
Number of the commit in the repository, starting with number 1 for the
initial commit. The commits or order by the time of the commit.
Line
Line number in the file.
Code
Code of the line.
HTML only
For HTML blame output, the Code column has three additional toggle buttons:
Hide blame exclusions
The initial state of this button corresponds to the value of the
Blame option Exclude
(--exclude-blame
in {hide, show, remove}
).
For the value hide
(default), the button is initially active. For the value of show
,
the button is initially inactive and for the value of remove
, the button itself is
removed.
When the button is active, the lines that are excluded from the blame analysis as a
result of the exclude pattern options, such as --exclude-files
and --exclude-authors
are not displayed.
Hide empty lines
The initial state of this button corresponds to the value of the
Blame inclusions option Empty lines
(--empty-lines
or --no-empty-lines
).
For option --no-empty-lines
, the Hide empty lines
button is initially active. For
option --empty-lines
, the button is initially inactive.
When the button is active, empty lines in the blame output are hidden. When the button
is inactive and option exclude-blame
is not set to remove
and button
Hide blame exclusions
is inactive, the empty lines are shown. When the value of option
--exclude-blame
is set tot remove
, the button is removed.
Hide colors
Removes all colors from the blame lines and shows all lines in white.
Excel only
For Excel blame output, the values hide
and show
of option --exclude-blame
have no
effect. The value remove
, removes the excluded blame lines from the Excel blame output
sheets.