Awesome
JGitStats
Yet another program for displaying stats about a Git repository.
Quick-Start
To get started, make sure you have Java 8 installed and just gradlew build
.
Then, to get stats on a Git repository:
jgitstats/build/install/jgitstats/bin/jgitstats path/to/git/repo
Architecture
Currently, the project is split up into two major components: git-wrapper, and jgitstats.
Goals
- Lines of code per given period, filterable by file type
- Most lines of code per day of week, hour of day, etc
- Follows renames for lines of code
- Exclude certain files/directories
Ideas
-
Dynamic/static mode. Query-able API to return JSON so graphs can be done client-side.
-
In the global diff page, allow user to see all the files in the repository, with the number of changes to the files. When you click on that file's page, you can see all the diff +/-s, maybe even the file at that revision? You'd be able to see the renames, too!
-
A way to see files that are no longer in the project?
-
Characterize the project's commits
-
Which % of the code is currently owned by who? Git blame, keep track of all every line.
TODOs
-
Per-user +/- contributions. Can we intelligently detect author renames? If I am
Alex Selesse <selesse@gmail.com>
then I becomeAlex Selesse <alex@selesse.com>
and I never commit fromselesse@gmail.com
again, can I detect that programmatically? -
Average commit length
License
Apache