All Projects → kevinjalbert → git_statistics

kevinjalbert / git_statistics

Licence: MIT license
A gem that allows you to get detailed statistics of a git repository.

Programming Languages

ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to git statistics

oanda api
A ruby client for the Oanda REST API.
Stars: ✭ 35 (-43.55%)
Mutual labels:  rubygem
itunes receipt validator
Validate iTunes Transaction and Unified style receipts with local decoding and remote validation.
Stars: ✭ 38 (-38.71%)
Mutual labels:  rubygem
honey format
Makes working with CSVs as smooth as honey.
Stars: ✭ 13 (-79.03%)
Mutual labels:  rubygem
sidekiq-backend
Karafka Sidekiq backend for background messages processing
Stars: ✭ 69 (+11.29%)
Mutual labels:  rubygem
dkdeploy-typo3-cms
dkdeploy-typo3-cms provides functionality for fully automated deployments targeting TYPO3 CMS applications
Stars: ✭ 16 (-74.19%)
Mutual labels:  rubygem
ruby terraform
A simple Ruby wrapper for invoking terraform commands.
Stars: ✭ 92 (+48.39%)
Mutual labels:  rubygem
rack-session-smart cookie
Slightly smarter session cookies for Rack 2 apps
Stars: ✭ 43 (-30.65%)
Mutual labels:  rubygem
turkish banks
All Turkish Banks and Their Branches
Stars: ✭ 28 (-54.84%)
Mutual labels:  rubygem
strings-ansi
Handle ANSI escape codes in strings
Stars: ✭ 17 (-72.58%)
Mutual labels:  rubygem
material-sass
A rubygem of Material Design for Bootstrap 4
Stars: ✭ 55 (-11.29%)
Mutual labels:  rubygem
ruby-lokalise-api
Lokalise API v2 Ruby interface.
Stars: ✭ 17 (-72.58%)
Mutual labels:  rubygem
ocr space
Free Online OCR for Ruby - Convert images to text
Stars: ✭ 62 (+0%)
Mutual labels:  rubygem
cli-rubygem
Command line interface for interacting with Civo's cloud API
Stars: ✭ 15 (-75.81%)
Mutual labels:  rubygem
rarbg
Ruby client for the RARBG Torrent API.
Stars: ✭ 17 (-72.58%)
Mutual labels:  rubygem
dry-logger
[WIP] Logging library
Stars: ✭ 16 (-74.19%)
Mutual labels:  rubygem
glimmer-dsl-opal
Glimmer DSL for Opal (Pure-Ruby Web GUI and Auto-Webifier of Desktop Apps)
Stars: ✭ 22 (-64.52%)
Mutual labels:  rubygem
jekyll-gzip
Generate gzipped assets and files for your Jekyll site at build time
Stars: ✭ 34 (-45.16%)
Mutual labels:  rubygem
ruby-sdk
♦️ Ruby SDK to use the IBM Watson services.
Stars: ✭ 45 (-27.42%)
Mutual labels:  rubygem
strings-case
Convert strings between different cases.
Stars: ✭ 65 (+4.84%)
Mutual labels:  rubygem
sidekiq queue metrics
Records stats of each sidekiq queue and exposes APIs to retrieve them
Stars: ✭ 29 (-53.23%)
Mutual labels:  rubygem

Git Statistics

Gem Version Build Status Coverage Status Code Climate Dependency Status

Instructions

Using the gem

  1. Acquire gem (gem install git_statistics)
  2. Run git statistics in any directory that is a git repository (use -h for options)

Working with source

  1. Clone the repository
  2. Install dependencies (bundle install)
  3. Run tests bundle exec rake
  4. Build and install local gem bundle exec rake install

Functions

This gem will analyze every commit within a git repository using git log and libgit2/rugged. The following author statistics in relation to the git repository are collected and displayed:

  • Total number of commits
  • Total number of merge commits
  • Total source line additions
  • Total source line deletions
  • Total file creates
  • Total file deletes
  • Total file renames
  • Total file copies

This gem also uses grosser/language_sniffer to determine the language of each individual file within commits. This augments the reported statistics by breaking down the author's statistics by languages.

This gem also has the ability to save the acquired data into a JSON file (in either a compressed or pretty format). If a saved file is present for the repository you can use the gem to load the data from the file, thus saving time for re-displaying the statistics using a different set of display flags (what statistic to sort on, number of authors to show, consider merges, etc...). In the event that a repository updates with new commits the gem allows you to update the saved file with the new commits.

Example Output

The following is the output produced by git_statistics --top 3 when used on the pengwynn/octokit (at commit 95a9de3) git repository. In this output we show the top three authors in rankings based on number of commits (merge commits are excluded from these results).

Top 3 authors(66) sorted by commits
-------------------------------------------------------------------------------------------------------------------
| Name/Email         | Language | Commits | Additions | Deletions | Creates | Deletes | Renames | Copies | Merges |
-------------------------------------------------------------------------------------------------------------------
| Erik Michaels-Ober |          |     205 |      6384 |      7692 |      78 |      43 |      69 |      2 |      0 |
|                    | Ruby     |       0 |      4223 |      3507 |      31 |       6 |      28 |      1 |      0 |
|                    | Unknown  |       0 |        81 |        70 |       6 |       3 |       1 |      0 |      0 |
|                    | Markdown |       0 |       379 |       336 |       3 |       2 |       1 |      0 |      0 |
|                    | JSON     |       0 |      1662 |      3735 |      38 |      31 |      39 |      1 |      0 |
|                    | YAML     |       0 |        39 |        44 |       0 |       1 |       0 |      0 |      0 |
| Wynn Netherland    |          |     185 |      8738 |     12925 |     155 |     107 |     115 |      1 |      0 |
|                    | Unknown  |       0 |       127 |        23 |     104 |      97 |       1 |      0 |      0 |
|                    | Ruby     |       0 |      3897 |      1825 |      21 |       4 |       1 |      0 |      0 |
|                    | JSON     |       0 |      4384 |     11012 |      29 |       6 |     112 |      0 |      0 |
|                    | Markdown |       0 |       325 |        65 |       1 |       0 |       1 |      0 |      0 |
|                    | YAML     |       0 |         5 |         0 |       0 |       0 |       0 |      1 |      0 |
| Clint Shryock      |          |     104 |      8038 |      3934 |      38 |      20 |       1 |      1 |      0 |
|                    | Ruby     |       0 |      1517 |       568 |       9 |       0 |       0 |      0 |      0 |
|                    | JSON     |       0 |      6519 |      3365 |      29 |      20 |       1 |      1 |      0 |
|                    | Markdown |       0 |         2 |         1 |       0 |       0 |       0 |      0 |      0 |
-------------------------------------------------------------------------------------------------------------------
| Repository Totals  |          |     720 |     75725 |     43567 |     387 |     183 |     189 |      9 |      0 |
|                    | Unknown  |       0 |       210 |        94 |     110 |     100 |       2 |      0 |      0 |
|                    | Ruby     |       0 |     15940 |      7861 |      81 |      13 |      32 |      2 |      0 |
|                    | JSON     |       0 |     58795 |     35157 |     191 |      67 |     153 |      6 |      0 |
|                    | Markdown |       0 |       730 |       411 |       4 |       2 |       2 |      0 |      0 |
|                    | YAML     |       0 |        50 |        44 |       1 |       1 |       0 |      1 |      0 |
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].