Let's look at how to view, interpret, and interact with a RepoSense report.
As a report consists of web pages, it can be viewed using a Web Browser. Here are the ways to view the report in different situations.
--view
option:java -jar RepoSense.jar --view REPORT_FOLDER
java -jar RepoSense.jar --view ./myReport/reposense-report
index.html
(in the unzipped report directory) using a browser.choose file
button in the shown web page, and select the archive.zip
(in the same directory) manually.choose file
button is not showing up, try a different browser.Here is an example of how a typical report looks like:
The report is divided into two sections: Chart panel and the Code panel. In some situations, the Commits panel will appear in place of the code panel. All three are explained in the sections below.
Links to external webpages (repository link, author's profile, blame view, etc.) is only properly supported when RepoSense analyzes a remote repository belonging to GitHub, GitLab or BitBucket.
The Chart panel
(an example is shown above) contains a series of ramp chart + contribution bar pairs, possibly organized into sub-groups, with a tool bar at the top.
Ramp chart: This is a visualization of the frequency and quantity of contributions of an author for a specific repository. Each ramp chart (i.e., light blue rectangle) represents an author's contribution timeline for a particular repository. Contributions appear as ramps in the timeline.
Ramp: The name we use to refer to the triangular saw-tooth-like shape that represents a code contribution. A ramp can represent a single commit, a sum of the commits done in a certain period, depending on the granularity used.
Contribution bar: It's the bar that appears below each ramp chart. Its length represents the total amount of code contributed by an author during the total analysis period.
We allow contribution bars to overflow into multiple lines (rather than adjust the scale to fit the maximum bar length) to prevent a minority of from affecting the scale of the majority.
The Tool Bar
at the top of the Chart panel provides a set of configuration options that control the Chart panel.
Search
: filters the author and repository by keywords.
tag:
will filter author and repository by git tags. Similar search rules as above (like separating multiple tag names by space) apply.Group by
: grouping criteria for the rows of results.
None
: results will not be grouped in any particular way.Repo/Branch
: results will be grouped by repositories and its' associating branches.Author
: results will be grouped by the name of the author. Contributions made to multiple repositories by a particular author will be grouped under the author.Sort groups by
: sorting criteria for the main group. See note [1] below.
Group title
: groups will be sorted by the title of the group (in bold text) in alphabetical order.Contribution
: groups will be sorted by the combined contributions within a group, in the order of number of lines added.Variance
: groups will be sorted by how far the daily contributions are spread out from their average value among all authors involved. A detailed definition of variance is located here.Sort within groups by
: sorting criteria within each group.
Title
: each group will be internally sorted by its title in alphabetical order.Contribution
: each group will be internally sorted by individual contributions in the order of number of lines added.Variance
: each group will be internally sorted by how far the daily contributions are spread out from their average value by each author into a particular repo. A detailed definition of variance is located here.Granularity
: the period of time for which commits are aggregated in the Ramp Chart.
Commit
: each commit made is shown as one ramp.Day
: commits within a day (commits made within 00:00 to 23:59) are shown as one ramp.Week
: commits within a week (from Monday 00:00 to Sunday 23:59) are shown as one ramp.Since
, Until
: the date range for the Ramp Chart (not applied to the Contribution Bars).Reset date range
: resets the date range of the Ramp Chart to the default date range.Breakdown by file type
: toggles the contribution bar to either display the bar by :
Merge group
: merges all the ramp charts of each group into a single ramp chart; aggregates the contribution of each group.
group by repos
.Show tags
: shows the tags of all the repos under a groupNotes:
[1] Sort groups by
: each main group has its own index and percentile according to its ranking position after sorting (e.g., if the groups are sorted by contribution in descending order, a 25% percentile indicates that the group is in the top 25% of the whole cohort in terms of contribution)
.
[2] Repo/Branch
: the repo/branch name is constructed as ORGANIZATION/REPOSITORY[BRANCH]
(e.g., reposense/reposense[master]
)
[3] The total contribution of each group will get updated based on the checked file types and will be taken into account when the sorting criteria is contribution.
RepoSense support intelligent bookmarks: Note how the browser URL changes as you modify settings in the report. If you send that URL to someone else, that person will be able to use that URL to view the report in the same view configuration you had when you copied the URL. For example, this URL and this URL give two different views of the same report.
The Code panel
allows users to see the code attributed to a specific author. Click on the </>
icon beside the author's name in the Chart panel
to display the Code panel
on the right.
merge group
option with group by repos
, the code panel will consist of multiple authors' contributions. Code attributed to these authors can be differentiated by the highlight colors of the code. The color legend is shown at the top of each file and consists only those authors that edited a particular file.Changing binary files, such as images (.jpg
, .png
), applications (.exe
), zip files (.zip
, .rar
) and certain document types (.docx
, .pptx
), is not counted towards the total number of lines of code contributed by an author.
The Commits panel
allows users to see the commits attributed to a specific author.
Chart panel
can be updated by clicking on the "Show ramp chart for this period" below the name of the author.Commits panel
represents individual commits (not weekly or daily contributions).