git_stats/README.md
2014-06-22 14:23:34 +02:00

3.0 KiB

GitStats Build Status Build Status

GitStats is a git repository statistics generator. It browses the repository and outputs html page with statistics.

Examples

Installation

$ gem install git_stats

Usage

Generator

Print help

$ git_stats
Commands:
  git_stats generate        # Generates the statistics of a repository
  git_stats help [COMMAND]  # Describe available commands or one specific command

Print help of the generate command

$ git_stats help generate
Usage:
  git_stats generate

Options:
  p, [--path=PATH]              # Path to repository from which statistics should be generated.
                                # Default: .
  o, [--output=OUTPUT]          # Output path where statistics should be written.
                                # Default: ./git_stats
  l, [--language=LANGUAGE]      # Language of written statistics.
                                # Default: en
  f, [--from=FROM]              # Commit from where statistics should start.
  t, [--to=TO]                  # Commit where statistics should stop.
                                # Default: HEAD
  s, [--silent], [--no-silent]  # Silent mode. Don't output anything.
  d, [--tree=TREE]              # Tree where statistics should be generated.
                                # Default: .

Start generator with default settings

$ git_stats generate
  git rev-list --pretty=format:'%h|%at|%ai|%aE' HEAD | grep -v commit
  git shortlog -se HEAD
  ...

Start generator with some parameters in long and short form.

$ git_stats generate -o stats --langugage de
  git rev-list --pretty=format:'%h|%at|%ai|%aE' HEAD | grep -v commit
  git shortlog -se HEAD
  ...

API usage example

> repo = GitStats::GitData::Repo.new(path: '.', first_commit_sha: 'abcd1234', last_commit_sha: 'HEAD')
> repo.authors
=> [...]
> repo.commits
=> [...]
> commit.files
=> [...]

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Added some feature')
  4. Make sure to add tests for it. This is important so I don't break it in a future version unintentionally.
  5. Push to the branch (git push origin my-new-feature)
  6. Create new Pull Request