Coder Social home page Coder Social logo

git_stats's People

Contributors

codebreach avatar data5tream avatar dbck avatar flobee avatar irevert avatar kjivan avatar kunthar avatar maplesteve avatar markus-strenn avatar michaelachrisco avatar nickbroon avatar nspring avatar peterdavehello avatar riveramj avatar tomgi avatar weeger avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

git_stats's Issues

Is there a way to ignore automatic commits?

On my project a bot updates the translations automatically (all located in the same folder by the way).

The commit message is always the same.
Is there a way to ignore such activity?

NaN (FloatDomainError)

I've got such error while trying to index one of my repos:

/usr/lib/ruby/gems/2.0.0/gems/activesupport-2.3.17/lib/active_support/core_ext/float/rounding.rb:19:in `round': NaN (FloatDomainError)
    from /usr/lib/ruby/gems/2.0.0/gems/activesupport-2.3.17/lib/active_support/core_ext/float/rounding.rb:19:in `round_with_precision'
    from /usr/lib/ruby/gems/2.0.0/gems/activesupport-2.3.17/lib/active_support/core_ext/float/rounding.rb:19:in `round_with_precision'
    from /home/nbryskin/.gem/ruby/2.0.0/gems/git_stats-1.0.7/templates/activity/_activity.haml:85:in `block (2 levels) in singleton class'
    from /home/nbryskin/.gem/ruby/2.0.0/gems/git_stats-1.0.7/templates/activity/_activity.haml:84:in `each'
    from /home/nbryskin/.gem/ruby/2.0.0/gems/git_stats-1.0.7/templates/activity/_activity.haml:84:in `block in singleton class'
    from /home/nbryskin/.gem/ruby/2.0.0/gems/git_stats-1.0.7/templates/activity/_activity.haml:-9:in `instance_eval'
    from /home/nbryskin/.gem/ruby/2.0.0/gems/git_stats-1.0.7/templates/activity/_activity.haml:-9:in `singleton class'
    from /home/nbryskin/.gem/ruby/2.0.0/gems/git_stats-1.0.7/templates/activity/_activity.haml:-11:in `__tilt_5168760'
    from /home/nbryskin/.gem/ruby/2.0.0/gems/tilt-1.4.1/lib/tilt/template.rb:170:in `call'
    from /home/nbryskin/.gem/ruby/2.0.0/gems/tilt-1.4.1/lib/tilt/template.rb:170:in `evaluate'
    from /home/nbryskin/.gem/ruby/2.0.0/gems/tilt-1.4.1/lib/tilt/haml.rb:24:in `evaluate'
    from /home/nbryskin/.gem/ruby/2.0.0/gems/tilt-1.4.1/lib/tilt/template.rb:103:in `render'
    from /home/nbryskin/.gem/ruby/2.0.0/gems/git_stats-1.0.7/lib/git_stats/stats_view/template.rb:15:in `render'
    from /home/nbryskin/.gem/ruby/2.0.0/gems/git_stats-1.0.7/lib/git_stats/stats_view/view_data.rb:18:in `render_partial'
    from /home/nbryskin/.gem/ruby/2.0.0/gems/git_stats-1.0.7/templates/activity/month_of_year.haml:1:in `block in singleton class'
    from /home/nbryskin/.gem/ruby/2.0.0/gems/git_stats-1.0.7/templates/activity/month_of_year.haml:-10:in `instance_eval'
    from /home/nbryskin/.gem/ruby/2.0.0/gems/git_stats-1.0.7/templates/activity/month_of_year.haml:-10:in `singleton class'
    from /home/nbryskin/.gem/ruby/2.0.0/gems/git_stats-1.0.7/templates/activity/month_of_year.haml:-12:in `__tilt_5168760'
    from /home/nbryskin/.gem/ruby/2.0.0/gems/tilt-1.4.1/lib/tilt/template.rb:170:in `call'
    from /home/nbryskin/.gem/ruby/2.0.0/gems/tilt-1.4.1/lib/tilt/template.rb:170:in `evaluate'
    from /home/nbryskin/.gem/ruby/2.0.0/gems/tilt-1.4.1/lib/tilt/haml.rb:24:in `evaluate'
    from /home/nbryskin/.gem/ruby/2.0.0/gems/tilt-1.4.1/lib/tilt/template.rb:103:in `render'
    from /home/nbryskin/.gem/ruby/2.0.0/gems/git_stats-1.0.7/lib/git_stats/stats_view/template.rb:13:in `block in render'
    from /home/nbryskin/.gem/ruby/2.0.0/gems/git_stats-1.0.7/templates/layout.haml:29:in `block in singleton class'
    from /home/nbryskin/.gem/ruby/2.0.0/gems/git_stats-1.0.7/templates/layout.haml:-9:in `instance_eval'
    from /home/nbryskin/.gem/ruby/2.0.0/gems/git_stats-1.0.7/templates/layout.haml:-9:in `singleton class'
    from /home/nbryskin/.gem/ruby/2.0.0/gems/git_stats-1.0.7/templates/layout.haml:-11:in `__tilt_5168760'
    from /home/nbryskin/.gem/ruby/2.0.0/gems/tilt-1.4.1/lib/tilt/template.rb:170:in `call'
    from /home/nbryskin/.gem/ruby/2.0.0/gems/tilt-1.4.1/lib/tilt/template.rb:170:in `evaluate'
    from /home/nbryskin/.gem/ruby/2.0.0/gems/tilt-1.4.1/lib/tilt/haml.rb:24:in `evaluate'
    from /home/nbryskin/.gem/ruby/2.0.0/gems/tilt-1.4.1/lib/tilt/template.rb:103:in `render'
    from /home/nbryskin/.gem/ruby/2.0.0/gems/git_stats-1.0.7/lib/git_stats/stats_view/template.rb:13:in `render'
    from /home/nbryskin/.gem/ruby/2.0.0/gems/git_stats-1.0.7/lib/git_stats/stats_view/view.rb:28:in `block (2 levels) in render_authors'
    from /home/nbryskin/.gem/ruby/2.0.0/gems/git_stats-1.0.7/lib/git_stats/stats_view/view.rb:27:in `each'
    from /home/nbryskin/.gem/ruby/2.0.0/gems/git_stats-1.0.7/lib/git_stats/stats_view/view.rb:27:in `block in render_authors'
    from /home/nbryskin/.gem/ruby/2.0.0/gems/git_stats-1.0.7/lib/git_stats/stats_view/view.rb:24:in `each'
    from /home/nbryskin/.gem/ruby/2.0.0/gems/git_stats-1.0.7/lib/git_stats/stats_view/view.rb:24:in `render_authors'
    from /home/nbryskin/.gem/ruby/2.0.0/gems/git_stats-1.0.7/lib/git_stats/stats_view/view.rb:19:in `render_all'
    from /home/nbryskin/.gem/ruby/2.0.0/gems/git_stats-1.0.7/lib/git_stats/generator.rb:6:in `render_all'
    from /home/nbryskin/.gem/ruby/2.0.0/gems/git_stats-1.0.7/lib/git_stats/cli.rb:26:in `start'
    from /home/nbryskin/.gem/ruby/2.0.0/gems/git_stats-1.0.7/bin/git_stats:11:in `<top (required)>'
    from /home/nbryskin/.gem/ruby/2.0.0/bin/git_stats:23:in `load'
    from /home/nbryskin/.gem/ruby/2.0.0/bin/git_stats:23:in `<main>'

gem install fails on macOS High Sierra v10.13.2

Hello,

I have been using git_stats for over a year on various Mac laptops. I tried installing git_stats on my new laptop running macOS High Sierra v10.13.2 and it fails:

sudo gem install git_stats
Password:
Building native extensions. This could take a while...
ERROR: Error installing git_stats:
ERROR: Failed to build gem native extension.

current directory: /Library/Ruby/Gems/2.3.0/gems/nokogiri-1.8.1/ext/nokogiri

/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/ruby -r ./siteconf20180104-48401-zjew88.rb extconf.rb
checking if the C compiler accepts ... yes
checking if the C compiler accepts -Wno-error=unused-command-line-argument-hard-error-in-future... no
Building nokogiri using packaged libraries.
Using mini_portile version 2.3.0
checking for iconv.h... yes
checking for gzdopen() in -lz... yes
checking for iconv... yes


IMPORTANT NOTICE:

Building Nokogiri with a packaged version of libxml2-2.9.5.

Team Nokogiri will keep on doing their best to provide security
updates in a timely manner, but if this is a concern for you and want
to use the system library instead; abort this installation process and
reinstall nokogiri as follows:

gem install nokogiri -- --use-system-libraries
    [--with-xml2-config=/path/to/xml2-config]
    [--with-xslt-config=/path/to/xslt-config]

If you are using Bundler, tell it to use the option:

bundle config build.nokogiri --use-system-libraries
bundle install

Note, however, that nokogiri is not fully compatible with arbitrary
versions of libxml2 provided by OS/package vendors.


Extracting libxml2-2.9.5.tar.gz into tmp/x86_64-apple-darwin17/ports/libxml2/2.9.5... OK
Running 'configure' for libxml2 2.9.5... OK
Running 'compile' for libxml2 2.9.5... ERROR, review '/Library/Ruby/Gems/2.3.0/gems/nokogiri-1.8.1/ext/nokogiri/tmp/x86_64-apple-darwin17/ports/libxml2/2.9.5/compile.log' to see what happened. Last lines are:

CCLD libxml2.la
CC testdso.lo
CCLD testdso.la
CC xmllint.o
CCLD xmllint
ld: warning: ignoring file /usr/local/Cellar/xz/5.2.3/lib/liblzma.dylib, file was built for x86_64 which is not the architecture being linked (i386): /usr/local/Cellar/xz/5.2.3/lib/liblzma.dylib
Undefined symbols for architecture i386:
"_lzma_auto_decoder", referenced from:
_xz_head in libxml2.a(xzlib.o)
"_lzma_code", referenced from:
_xz_decomp in libxml2.a(xzlib.o)
"_lzma_end", referenced from:
___libxml2_xzclose in libxml2.a(xzlib.o)
"_lzma_properties_decode", referenced from:
_is_format_lzma in libxml2.a(xzlib.o)
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [xmllint] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers. Check the mkmf.log file for more details. You may
need configuration options.

Provided configuration options:
--with-opt-dir
--without-opt-dir
--with-opt-include
--without-opt-include=${opt-dir}/include
--with-opt-lib
--without-opt-lib=${opt-dir}/lib
--with-make-prog
--without-make-prog
--srcdir=.
--curdir
--ruby=/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/$(RUBY_BASE_NAME)
--help
--clean
--use-system-libraries
--enable-static
--disable-static
--with-zlib-dir
--without-zlib-dir
--with-zlib-include
--without-zlib-include=${zlib-dir}/include
--with-zlib-lib
--without-zlib-lib=${zlib-dir}/lib
--enable-cross-build
--disable-cross-build
/Library/Ruby/Gems/2.3.0/gems/mini_portile2-2.3.0/lib/mini_portile2/mini_portile.rb:402:in block in execute': Failed to complete compile task (RuntimeError) from /Library/Ruby/Gems/2.3.0/gems/mini_portile2-2.3.0/lib/mini_portile2/mini_portile.rb:373:in chdir'
from /Library/Ruby/Gems/2.3.0/gems/mini_portile2-2.3.0/lib/mini_portile2/mini_portile.rb:373:in execute' from /Library/Ruby/Gems/2.3.0/gems/mini_portile2-2.3.0/lib/mini_portile2/mini_portile.rb:115:in compile'
from /Library/Ruby/Gems/2.3.0/gems/mini_portile2-2.3.0/lib/mini_portile2/mini_portile.rb:154:in cook' from extconf.rb:365:in block (2 levels) in process_recipe'
from extconf.rb:257:in block in chdir_for_build' from extconf.rb:256:in chdir'
from extconf.rb:256:in chdir_for_build' from extconf.rb:364:in block in process_recipe'
from extconf.rb:262:in tap' from extconf.rb:262:in process_recipe'
from extconf.rb:548:in `

'

To see why this extension failed to compile, please check the mkmf.log which can be found here:

/Library/Ruby/Gems/2.3.0/extensions/universal-darwin-17/2.3.0/nokogiri-1.8.1/mkmf.log

extconf failed, exit code 1

Gem files will remain installed in /Library/Ruby/Gems/2.3.0/gems/nokogiri-1.8.1 for inspection.
Results logged to /Library/Ruby/Gems/2.3.0/extensions/universal-darwin-17/2.3.0/nokogiri-1.8.1/gem_make.out

Cyrillic characters not displayed correctly

Hi there, git_stats is awesome software, but i have some troubles with him.
I have authors, who have cyrillic chars in there name, and links for them not working.
Is there some workaround for this?
stats
My link for there look like this
authors/best_authors.html????????????_??????????????/activity/by_date.html
and not working

Error when generate: last_commit is nil: GitStats::GitData::Repo

within the repository by executing:: git_stats generate

fatal: |: no such path in the working tree.
Use 'git <command> -- <path>...' to specify paths that do not exist locally.
C:in `rescue in files_by_extension_count': GitStats::GitData::Repo#files_by_extension_count delegated to last_commit.files_by_extension_count, but last_commit is nil: GitStats::GitData::Repo C:/Users/Riderman/Documents/..MyRepo.. (Module::DelegationError)
        from C:in `files_by_extension_count'
        from C:/ruby193/lib/ruby/gems/1.9.1/gems/git_stats-1.0.14/lib/git_stats/stats_view/charts/repo_charts.rb:13:in `block in files_by_extension'
        from C:/ruby193/lib/ruby/gems/1.9.1/gems/git_stats-1.0.14/lib/git_stats/stats_view/charts/chart.rb:13:in `initialize'
        from C:/ruby193/lib/ruby/gems/1.9.1/gems/git_stats-1.0.14/lib/git_stats/stats_view/charts/repo_charts.rb:11:in `new'
        from C:/ruby193/lib/ruby/gems/1.9.1/gems/git_stats-1.0.14/lib/git_stats/stats_view/charts/repo_charts.rb:11:in `files_by_extension'
        from C:in `files_by_extension'
        from C:/ruby193/lib/ruby/gems/1.9.1/gems/git_stats-1.0.14/templates/files/_files.haml:15:in `block in singletonclass'
        from C:/ruby193/lib/ruby/gems/1.9.1/gems/git_stats-1.0.14/templates/files/_files.haml:65527:in `instance_eval'
        from C:/ruby193/lib/ruby/gems/1.9.1/gems/git_stats-1.0.14/templates/files/_files.haml:65527:in `singletonclass'
        from C:/ruby193/lib/ruby/gems/1.9.1/gems/git_stats-1.0.14/templates/files/_files.haml:65525:in `__tilt_15822660'
        from C:/ruby193/lib/ruby/gems/1.9.1/gems/tilt-2.0.1/lib/tilt/template.rb:155:in `call'
        from C:/ruby193/lib/ruby/gems/1.9.1/gems/tilt-2.0.1/lib/tilt/template.rb:155:in `evaluate'
        from C:/ruby193/lib/ruby/gems/1.9.1/gems/tilt-2.0.1/lib/tilt/haml.rb:17:in `evaluate'
        from C:/ruby193/lib/ruby/gems/1.9.1/gems/tilt-2.0.1/lib/tilt/template.rb:96:in `render'
        from C:/ruby193/lib/ruby/gems/1.9.1/gems/git_stats-1.0.14/lib/git_stats/stats_view/template.rb:15:in `render'
        from C:/ruby193/lib/ruby/gems/1.9.1/gems/git_stats-1.0.14/lib/git_stats/stats_view/view_data.rb:18:in `render_partial'
        from C:/ruby193/lib/ruby/gems/1.9.1/gems/git_stats-1.0.14/templates/files/by_extension.haml:1:in `block in singletonclass'
        from C:/ruby193/lib/ruby/gems/1.9.1/gems/git_stats-1.0.14/templates/files/by_extension.haml:65526:in `instance_eval'
        from C:/ruby193/lib/ruby/gems/1.9.1/gems/git_stats-1.0.14/templates/files/by_extension.haml:65526:in `singletonclass'
        from C:/ruby193/lib/ruby/gems/1.9.1/gems/git_stats-1.0.14/templates/files/by_extension.haml:65524:in `__tilt_15822660'
        from C:/ruby193/lib/ruby/gems/1.9.1/gems/tilt-2.0.1/lib/tilt/template.rb:155:in `call'
        from C:/ruby193/lib/ruby/gems/1.9.1/gems/tilt-2.0.1/lib/tilt/template.rb:155:in `evaluate'
        from C:/ruby193/lib/ruby/gems/1.9.1/gems/tilt-2.0.1/lib/tilt/haml.rb:17:in `evaluate'
        from C:/ruby193/lib/ruby/gems/1.9.1/gems/tilt-2.0.1/lib/tilt/template.rb:96:in `render'
        from C:/ruby193/lib/ruby/gems/1.9.1/gems/git_stats-1.0.14/lib/git_stats/stats_view/template.rb:13:in `block in render'
        from C:/ruby193/lib/ruby/gems/1.9.1/gems/git_stats-1.0.14/templates/layout.haml:30:in `block in singletonclass'
        from C:/ruby193/lib/ruby/gems/1.9.1/gems/git_stats-1.0.14/templates/layout.haml:65526:in `instance_eval'
        from C:/ruby193/lib/ruby/gems/1.9.1/gems/git_stats-1.0.14/templates/layout.haml:65526:in `singletonclass'
        from C:/ruby193/lib/ruby/gems/1.9.1/gems/git_stats-1.0.14/templates/layout.haml:65524:in `__tilt_15822660'
        from C:/ruby193/lib/ruby/gems/1.9.1/gems/tilt-2.0.1/lib/tilt/template.rb:155:in `call'
        from C:/ruby193/lib/ruby/gems/1.9.1/gems/tilt-2.0.1/lib/tilt/template.rb:155:in `evaluate'
        from C:/ruby193/lib/ruby/gems/1.9.1/gems/tilt-2.0.1/lib/tilt/haml.rb:17:in `evaluate'
        from C:/ruby193/lib/ruby/gems/1.9.1/gems/tilt-2.0.1/lib/tilt/template.rb:96:in `render'
        from C:/ruby193/lib/ruby/gems/1.9.1/gems/git_stats-1.0.14/lib/git_stats/stats_view/template.rb:13:in `render'
        from C:/ruby193/lib/ruby/gems/1.9.1/gems/git_stats-1.0.14/lib/git_stats/stats_view/view.rb:15:in `block in render_all'
        from C:/ruby193/lib/ruby/gems/1.9.1/gems/git_stats-1.0.14/lib/git_stats/stats_view/view.rb:14:in `each'
        from C:/ruby193/lib/ruby/gems/1.9.1/gems/git_stats-1.0.14/lib/git_stats/stats_view/view.rb:14:in `render_all'
        from C:in `render_all'
        from C:/ruby193/lib/ruby/gems/1.9.1/gems/git_stats-1.0.14/lib/git_stats/cli.rb:18:in `generate'
        from C:/ruby193/lib/ruby/gems/1.9.1/gems/thor-0.19.1/lib/thor/command.rb:27:in `run'
        from C:/ruby193/lib/ruby/gems/1.9.1/gems/thor-0.19.1/lib/thor/invocation.rb:126:in `invoke_command'
        from C:/ruby193/lib/ruby/gems/1.9.1/gems/thor-0.19.1/lib/thor.rb:359:in `dispatch'
        from C:/ruby193/lib/ruby/gems/1.9.1/gems/thor-0.19.1/lib/thor/base.rb:440:in `start'
        from C:/ruby193/lib/ruby/gems/1.9.1/gems/git_stats-1.0.14/bin/git_stats:10:in `<top (required)>'
        from C:/ruby193/bin/git_stats:23:in `load'
        from C:/ruby193/bin/git_stats:23:in `<main>'

Hints for adding additional metrics?

Hi!

Great work - thanks a lot!

I would like to add some more metrics (lines of comments etc.).
Do you have a brief explanation where additional commands should be implemented? Are there central places to call them, code to reuse with new input etc.

Thanks & best regards.

use mask for filename

is there possibility to ignore changes in files by mask or use changes to files by mask? Would be great to have possibility to generate different statistics for *.js *.css, *.sql , *.php, *.rb etc

Missing install dependency

After installing like in the Readme.md I got following error message.
To get rid of it you have to

gem install json_pure
LoadError: no such file to load -- json/pure
  require at org/jruby/RubyKernel.java:1027
  require at /usr/share/rubygems/rubygems/core_ext/kernel_require.rb:55
  require at /usr/share/rubygems/rubygems/core_ext/kernel_require.rb:53
     JSON at /usr/share/gems/gems/json-1.7.7/lib/json.rb:60
   (root) at /usr/share/gems/gems/json-1.7.7/lib/json.rb:54
  require at org/jruby/RubyKernel.java:1027
  require at /usr/share/rubygems/rubygems/core_ext/kernel_require.rb:55
  require at /usr/share/rubygems/rubygems/core_ext/kernel_require.rb:53
   (root) at /home/jbushart/.gem/jruby/1.9/gems/activesupport-4.1.1/lib/active_support/core_ext/object/json.rb:1
  require at org/jruby/RubyKernel.java:1027
  require at /usr/share/rubygems/rubygems/core_ext/kernel_require.rb:55
  require at /usr/share/rubygems/rubygems/core_ext/kernel_require.rb:53
   (root) at /home/jbushart/.gem/jruby/1.9/gems/activesupport-4.1.1/lib/active_support/core_ext/object/json.rb:2
  require at org/jruby/RubyKernel.java:1027
  require at /usr/share/rubygems/rubygems/core_ext/kernel_require.rb:55
  require at /usr/share/rubygems/rubygems/core_ext/kernel_require.rb:53
   (root) at /home/jbushart/.gem/jruby/1.9/gems/activesupport-4.1.1/lib/active_support/core_ext/object.rb:1
     each at org/jruby/RubyArray.java:1613
   (root) at /home/jbushart/.gem/jruby/1.9/gems/activesupport-4.1.1/lib/active_support/core_ext/object.rb:11
  require at org/jruby/RubyKernel.java:1027
  require at /usr/share/rubygems/rubygems/core_ext/kernel_require.rb:55
  require at /usr/share/rubygems/rubygems/core_ext/kernel_require.rb:53
   (root) at /home/jbushart/.gem/jruby/1.9/gems/activesupport-4.1.1/lib/active_support/core_ext.rb:1
  require at org/jruby/RubyKernel.java:1027
   (root) at /home/jbushart/.gem/jruby/1.9/gems/activesupport-4.1.1/lib/active_support/core_ext.rb:2
   (root) at /home/jbushart/.gem/jruby/1.9/gems/activesupport-4.1.1/lib/active_support/core_ext.rb:1
  require at org/jruby/RubyKernel.java:1027
   (root) at /home/jbushart/.gem/jruby/1.9/gems/activesupport-4.1.1/lib/active_support/all.rb:1
   (root) at /home/jbushart/.gem/jruby/1.9/gems/activesupport-4.1.1/lib/active_support/all.rb:3
  require at org/jruby/RubyKernel.java:1027
   (root) at /usr/share/rubygems/rubygems/core_ext/kernel_require.rb:1
  require at /usr/share/rubygems/rubygems/core_ext/kernel_require.rb:55
     load at org/jruby/RubyKernel.java:1046
   (root) at /home/jbushart/bin/git_stats:23

centralize body padding-top style

currently body padding-top inline CSS is set to 60px - should be 100px for larger repository names.

can also be done later after report creation with

 find . -name "*.html" -print | xargs sed -i 's/padding-top: 60px/padding-top: 100px/g'

Sequence contains no matching elements

vagrant@v:/vagrant$ git --version
git version 1.9.1
vagrant@v:/vagrant$ ruby -v
ruby 2.2.2p95 (2015-04-13 revision 50295) [x86_64-linux]
vagrant@v:/vagrant$ uname -a
Linux v 3.13.0-52-generic #86-Ubuntu SMP Mon May 4 04:32:59 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

vagrant@v:/vagrant$ git_stats generate  --path=cms-java-experiments/
git rev-parse --short HEAD
git rev-list --pretty=format:'%h|%at|%ai|%aE' HEAD . | grep -v commit
git shortlog -se HEAD .
/usr/local/rvm/gems/ruby-2.2.2/gems/git_stats-1.0.14/lib/git_stats/core_extensions/enumerable.rb:5:i
n `first!': Sequence contains no matching elements (RuntimeError)
        from /usr/local/rvm/gems/ruby-2.2.2/gems/git_stats-1.0.14/lib/git_stats/git_data/repo.rb:55: in `block in commits'
        from /usr/local/rvm/gems/ruby-2.2.2/gems/git_stats-1.0.14/lib/git_stats/git_data/repo.rb:49: in `map'
        from /usr/local/rvm/gems/ruby-2.2.2/gems/git_stats-1.0.14/lib/git_stats/git_data/repo.rb:49: in `commits'
        from /usr/local/rvm/gems/ruby-2.2.2/gems/git_stats-1.0.14/lib/git_stats/git_data/repo.rb:61: in `commits_period'
        from /usr/local/rvm/gems/ruby-2.2.2/gems/git_stats-1.0.14/templates/general.haml:19:in `block in singleton class'
        from /usr/local/rvm/gems/ruby-2.2.2/gems/git_stats-1.0.14/templates/general.haml:-9:in `instance_eval'
        from /usr/local/rvm/gems/ruby-2.2.2/gems/git_stats-1.0.14/templates/general.haml:-9:in `singleton class'
        from /usr/local/rvm/gems/ruby-2.2.2/gems/git_stats-1.0.14/templates/general.haml:-11:in `__tilt_7297420'
        from /usr/local/rvm/gems/ruby-2.2.2/gems/tilt-1.4.1/lib/tilt/template.rb:170:in `call'
        from /usr/local/rvm/gems/ruby-2.2.2/gems/tilt-1.4.1/lib/tilt/template.rb:170:in `evaluate'
        from /usr/local/rvm/gems/ruby-2.2.2/gems/tilt-1.4.1/lib/tilt/haml.rb:24:in `evaluate'
        from /usr/local/rvm/gems/ruby-2.2.2/gems/tilt-1.4.1/lib/tilt/template.rb:103:in `render'
        from /usr/local/rvm/gems/ruby-2.2.2/gems/git_stats-1.0.14/lib/git_stats/stats_view/template.
rb:13:in `block in render'
        from /usr/local/rvm/gems/ruby-2.2.2/gems/git_stats-1.0.14/templates/layout.haml:30:in `block
 in singleton class'
        from /usr/local/rvm/gems/ruby-2.2.2/gems/git_stats-1.0.14/templates/layout.haml:-9:in `insta
nce_eval'
        from /usr/local/rvm/gems/ruby-2.2.2/gems/git_stats-1.0.14/templates/layout.haml:-9:in `singl
eton class'
        from /usr/local/rvm/gems/ruby-2.2.2/gems/git_stats-1.0.14/templates/layout.haml:-11:in `__ti
lt_7297420'
        from /usr/local/rvm/gems/ruby-2.2.2/gems/tilt-1.4.1/lib/tilt/template.rb:170:in `call'
        from /usr/local/rvm/gems/ruby-2.2.2/gems/tilt-1.4.1/lib/tilt/template.rb:170:in `evaluate'
        from /usr/local/rvm/gems/ruby-2.2.2/gems/tilt-1.4.1/lib/tilt/haml.rb:24:in `evaluate'
        from /usr/local/rvm/gems/ruby-2.2.2/gems/tilt-1.4.1/lib/tilt/template.rb:103:in `render'
        from /usr/local/rvm/gems/ruby-2.2.2/gems/git_stats-1.0.14/lib/git_stats/stats_view/template.
rb:13:in `render'
        from /usr/local/rvm/gems/ruby-2.2.2/gems/git_stats-1.0.14/lib/git_stats/stats_view/view.rb:1
5:in `block in render_all'
        from /usr/local/rvm/gems/ruby-2.2.2/gems/git_stats-1.0.14/lib/git_stats/stats_view/view.rb:1
4:in `each'
        from /usr/local/rvm/gems/ruby-2.2.2/gems/git_stats-1.0.14/lib/git_stats/stats_view/view.rb:1
4:in `render_all'
        from /usr/local/rvm/gems/ruby-2.2.2/gems/git_stats-1.0.14/lib/git_stats/generator.rb:5:in `r
ender_all'
        from /usr/local/rvm/gems/ruby-2.2.2/gems/git_stats-1.0.14/lib/git_stats/cli.rb:20:in `genera
te'
        from /usr/local/rvm/gems/ruby-2.2.2/gems/thor-0.19.1/lib/thor/command.rb:27:in `run'
        from /usr/local/rvm/gems/ruby-2.2.2/gems/thor-0.19.1/lib/thor/invocation.rb:126:in `invoke_c
ommand'
        from /usr/local/rvm/gems/ruby-2.2.2/gems/thor-0.19.1/lib/thor.rb:359:in `dispatch'
        from /usr/local/rvm/gems/ruby-2.2.2/gems/thor-0.19.1/lib/thor/base.rb:440:in `start'
        from /usr/local/rvm/gems/ruby-2.2.2/gems/git_stats-1.0.14/bin/git_stats:10:in `<top (require
d)>'
        from /usr/local/rvm/gems/ruby-2.2.2/bin/git_stats:23:in `load'
        from /usr/local/rvm/gems/ruby-2.2.2/bin/git_stats:23:in `<main>'
        from /usr/local/rvm/gems/ruby-2.2.2/bin/ruby_executable_hooks:15:in `eval'
        from /usr/local/rvm/gems/ruby-2.2.2/bin/ruby_executable_hooks:15:in `<main>'

Add filtering capabilities

It would be awersome to have some filtering capabilities while gathering the stats:

  1. Ignore certain files by names or extensions
  2. Ignore certain paths
  3. Ignore ranges of revisions

For example svnstat provided quite an elegant solution to 1 and 2 by giving an opportunity to set ignore list with apache-like wildcards. Motivation for such filtering is that some files in repository could be out of interest (autogenerated, imported 3rdParty data and so on)

Trying to use on Windows, cannot get it working - fatal: |: no such path in the working tree.

I have no Ruby experience. I wanted to try using this tool on Windows 10 x64. I did following:

  • downloaded Ruby 2.3.3
  • installed using gem install git_stats, installation went OK, with no errors, just a following notice:

HEADS UP! Haml 4.0 has many improvements, but also has changes that may break
your application:

  • used git_stats to confirm basic functionality, got following response, which seems OK:

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

  • cd into my git working directory of W:\Test\ActorRequests
  • run git_stats generate

Got following response:

W:\Test\ActorRequests>git_stats generate
fatal: |: no such path in the working tree.
Use 'git  -- ...' to specify paths that do not exist locally.
git rev-list --pretty=format:'%h|%at|%ai|%aE' HEAD . | grep -v commit
git shortlog -se HEAD .
D:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/git_stats-1.0.14/lib/git_stats/git_data/repo.rb:9:in `rescue in files_by_extension_count': GitStats::GitData::Repo#files_by_extension_count delegated to last_commit.files_by_extension_count, but last_commit is nil: #], @project_name="ActorRequests", @command_runner=#, @command_parser=#, @commits=[], @activity=#{}, 1=>{}, 2=>{}, 3=>{}, 4=>{}, 5=>{}, 6=>{}}, @by_month={}, @by_year={}, @by_year_week={}>, @authors=[#, @name="Ond\u0159ej \u0160pan\u011Bl", @email="[email protected]", @commits=[]>], @comment_count_each_day={}, @files_count_each_day={}> (Module::DelegationError)
        from D:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/git_stats-1.0.14/lib/git_stats/git_data/repo.rb:9:in `files_by_extension_count'
        from D:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/git_stats-1.0.14/lib/git_stats/stats_view/charts/repo_charts.rb:13:in `block in files_by_extension'
        from D:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/git_stats-1.0.14/lib/git_stats/stats_view/charts/chart.rb:13:in `initialize'
        from D:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/git_stats-1.0.14/lib/git_stats/stats_view/charts/repo_charts.rb:11:in `new'
        from D:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/git_stats-1.0.14/lib/git_stats/stats_view/charts/repo_charts.rb:11:in `files_by_extension'
        from D:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/git_stats-1.0.14/lib/git_stats/stats_view/charts/charts.rb:6:in `files_by_extension'
        from D:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/git_stats-1.0.14/templates/files/_files.haml:15:in `block in singleton class'
        from D:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/git_stats-1.0.14/templates/files/_files.haml:-9:in `instance_eval'
        from D:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/git_stats-1.0.14/templates/files/_files.haml:-9:in `singleton class'
        from D:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/git_stats-1.0.14/templates/files/_files.haml:-11:in `__tilt_20283320'
        from D:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/tilt-2.0.5/lib/tilt/template.rb:167:in `call'
        from D:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/tilt-2.0.5/lib/tilt/template.rb:167:in `evaluate'
        from D:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/tilt-2.0.5/lib/tilt/haml.rb:19:in `evaluate'
        from D:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/tilt-2.0.5/lib/tilt/template.rb:102:in `render'
        from D:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/git_stats-1.0.14/lib/git_stats/stats_view/template.rb:15:in `render'
        from D:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/git_stats-1.0.14/lib/git_stats/stats_view/view_data.rb:18:in `render_partial'
        from D:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/git_stats-1.0.14/templates/files/by_extension.haml:1:in `block in singleton class'
        from D:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/git_stats-1.0.14/templates/files/by_extension.haml:-10:in `instance_eval'
        from D:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/git_stats-1.0.14/templates/files/by_extension.haml:-10:in `singleton class'
        from D:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/git_stats-1.0.14/templates/files/by_extension.haml:-12:in `__tilt_20283320'
        from D:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/tilt-2.0.5/lib/tilt/template.rb:167:in `call'
        from D:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/tilt-2.0.5/lib/tilt/template.rb:167:in `evaluate'
        from D:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/tilt-2.0.5/lib/tilt/haml.rb:19:in `evaluate'
        from D:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/tilt-2.0.5/lib/tilt/template.rb:102:in `render'
        from D:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/git_stats-1.0.14/lib/git_stats/stats_view/template.rb:13:in `block in render'
        from D:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/git_stats-1.0.14/templates/layout.haml:30:in `block in singleton class'
        from D:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/git_stats-1.0.14/templates/layout.haml:-10:in `instance_eval'
        from D:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/git_stats-1.0.14/templates/layout.haml:-10:in `singleton class'
        from D:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/git_stats-1.0.14/templates/layout.haml:-12:in `__tilt_20283320'
        from D:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/tilt-2.0.5/lib/tilt/template.rb:167:in `call'
        from D:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/tilt-2.0.5/lib/tilt/template.rb:167:in `evaluate'
        from D:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/tilt-2.0.5/lib/tilt/haml.rb:19:in `evaluate'
        from D:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/tilt-2.0.5/lib/tilt/template.rb:102:in `render'
        from D:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/git_stats-1.0.14/lib/git_stats/stats_view/template.rb:13:in `render'
        from D:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/git_stats-1.0.14/lib/git_stats/stats_view/view.rb:15:in `block in render_all'
        from D:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/git_stats-1.0.14/lib/git_stats/stats_view/view.rb:14:in `each'
        from D:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/git_stats-1.0.14/lib/git_stats/stats_view/view.rb:14:in `render_all'
        from D:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/git_stats-1.0.14/lib/git_stats/generator.rb:5:in `render_all'
        from D:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/git_stats-1.0.14/lib/git_stats/cli.rb:20:in `generate'
        from D:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/thor-0.19.4/lib/thor/command.rb:27:in `run'
        from D:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/thor-0.19.4/lib/thor/invocation.rb:126:in `invoke_command'
        from D:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/thor-0.19.4/lib/thor.rb:369:in `dispatch'
        from D:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/thor-0.19.4/lib/thor/base.rb:444:in `start'
        from D:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/git_stats-1.0.14/bin/git_stats:10:in `'
        from D:/Ruby23-x64/bin/git_stats:22:in `load'
        from D:/Ruby23-x64/bin/git_stats:22:in `'

Activity per Subdirectory

Often you find that software is structured in sub-modules, represented by different directories.

I was looking to find out what the stable and what the unstable modules are for our application, so I was looking for some "git activity per subdirectory" stats and ended up here.

Afaict git_stats can't do that yet, so consider it a new idea / feature request ;-)

How to Install Offline

My Linux can't connect to internet, so the command "gem install git_stats" result in "Error: http://gems.rubyforge.org/ does not apper to be a repository", and "Error: Could not find gem git_stats locally or in a reposity". How can I install git_stats offline? what files should I download first? and the steps ? Thanks.

Combine users

I have a Repo where same users have used different usernames!

Would it be possible to add a Parameter where I say wich ones are the same so they could be combined in the statistics?

Select branch for statistics

Depending on the development workflow the master branch could not be the most active one, or the one that makes sense to use for statistics. It would be nice the be able to select the branch on which to run git_stats.

If no one can take care of this I could be able to come up with a patch in the future. No guaranteed timeframe, though :)

Mac OS X

How ti make it works under Mac OS X ?

after installing i see

$ git_stats ~/Sites/sandbox/ ~/tmp/output_statistic_directory
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in gem_original_require': /Library/Ruby/Gems/1.8/gems/git_stats-1.0.2/lib/git_stats/generator.rb:4: syntax error, unexpected ':', expecting kEND (SyntaxError) delegate :add_command_observer, to: :@repo ^ /Library/Ruby/Gems/1.8/gems/git_stats-1.0.2/lib/git_stats/generator.rb:5: syntax error, unexpected ':', expecting kEND delegate :render_all, to: :@view ^ /Library/Ruby/Gems/1.8/gems/git_stats-1.0.2/lib/git_stats/generator.rb:10: syntax error, unexpected ':', expecting ')' @repo = GitData::Repo.new(path: repo_path) ^ from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems/custom_require.rb:31:inrequire'
from /Library/Ruby/Gems/1.8/gems/git_stats-1.0.2/lib/git_stats/base.rb:10
from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in gem_original_require' from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems/custom_require.rb:31:inrequire'
from /Library/Ruby/Gems/1.8/gems/git_stats-1.0.2/lib/git_stats.rb:14
from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in gem_original_require' from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems/custom_require.rb:31:inrequire'
from /Library/Ruby/Gems/1.8/gems/git_stats-1.0.2/lib/git_stats/cli.rb:2
from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in gem_original_require' from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems/custom_require.rb:31:inrequire'
from /Library/Ruby/Gems/1.8/gems/git_stats-1.0.2/bin/git_stats:8
from /usr/bin/git_stats:19:in `load'
from /usr/bin/git_stats:19

Is it possible to fix it ?

git_stats crash

GitStats crash on Arch Linux x64 using Ruby 2.0.0. It works fine on 1.9.3.

/home/leandros/.gem/ruby/2.0.0/gems/lazy_high_charts-1.4.1/lib/lazy_high_charts/layout_helper.rb:95: [BUG] Segmentation fault
ruby 2.0.0p0 (2013-02-24 revision 39474) [x86_64-linux]

-- Control frame information -----------------------------------------------
c:0064 p:---- s:0297 e:000296 CFUNC  :dup
c:0063 p:---- s:0295 e:000294 CFUNC  :to_json
c:0062 p:0092 s:0292 e:000291 METHOD /home/leandros/.gem/ruby/2.0.0/gems/lazy_high_charts-1.4.1/lib/lazy_high_charts/layout_helper.rb:95
c:0061 p:0009 s:0288 e:000287 BLOCK  /home/leandros/.gem/ruby/2.0.0/gems/lazy_high_charts-1.4.1/lib/lazy_high_charts/layout_helper.rb:100 [FINISH]
c:0060 p:---- s:0285 e:000284 CFUNC  :map
c:0059 p:0008 s:0282 e:000281 METHOD /home/leandros/.gem/ruby/2.0.0/gems/lazy_high_charts-1.4.1/lib/lazy_high_charts/layout_helper.rb:100
c:0058 p:0057 s:0278 e:000276 METHOD /home/leandros/.gem/ruby/2.0.0/gems/lazy_high_charts-1.4.1/lib/lazy_high_charts/layout_helper.rb:91
c:0057 p:0009 s:0273 e:000272 BLOCK  /home/leandros/.gem/ruby/2.0.0/gems/lazy_high_charts-1.4.1/lib/lazy_high_charts/layout_helper.rb:100 [FINISH]
c:0056 p:---- s:0270 e:000269 CFUNC  :map
c:0055 p:0008 s:0267 e:000266 METHOD /home/leandros/.gem/ruby/2.0.0/gems/lazy_high_charts-1.4.1/lib/lazy_high_charts/layout_helper.rb:100
c:0054 p:0057 s:0263 e:000261 METHOD /home/leandros/.gem/ruby/2.0.0/gems/lazy_high_charts-1.4.1/lib/lazy_high_charts/layout_helper.rb:91
c:0053 p:0030 s:0258 e:000254 BLOCK  /home/leandros/.gem/ruby/2.0.0/gems/lazy_high_charts-1.4.1/lib/lazy_high_charts/layout_helper.rb:83 [FINISH]
c:0052 p:---- s:0250 e:000249 IFUNC 
c:0051 p:---- s:0248 e:000247 CFUNC  :each_pair
c:0050 p:---- s:0246 e:000245 CFUNC  :each
c:0049 p:---- s:0244 e:000243 CFUNC  :map
c:0048 p:0010 s:0241 e:000240 METHOD /home/leandros/.gem/ruby/2.0.0/gems/lazy_high_charts-1.4.1/lib/lazy_high_charts/layout_helper.rb:81
c:0047 p:0026 s:0237 e:000235 METHOD /home/leandros/.gem/ruby/2.0.0/gems/lazy_high_charts-1.4.1/lib/lazy_high_charts/layout_helper.rb:89
c:0046 p:0009 s:0232 e:000231 BLOCK  /home/leandros/.gem/ruby/2.0.0/gems/lazy_high_charts-1.4.1/lib/lazy_high_charts/layout_helper.rb:100 [FINISH]
c:0045 p:---- s:0229 e:000228 CFUNC  :map
c:0044 p:0008 s:0226 e:000225 METHOD /home/leandros/.gem/ruby/2.0.0/gems/lazy_high_charts-1.4.1/lib/lazy_high_charts/layout_helper.rb:100
c:0043 p:0037 s:0222 e:000219 METHOD /home/leandros/.gem/ruby/2.0.0/gems/lazy_high_charts-1.4.1/lib/lazy_high_charts/layout_helper.rb:28
c:0042 p:0015 s:0210 e:000209 METHOD /home/leandros/.gem/ruby/2.0.0/gems/lazy_high_charts-1.4.1/lib/lazy_high_charts/layout_helper.rb:23
c:0041 p:0045 s:0204 e:000203 METHOD /home/leandros/.gem/ruby/2.0.0/gems/lazy_high_charts-1.4.1/lib/lazy_high_charts/layout_helper.rb:15
c:0040 p:0813 s:0198 e:000194 BLOCK  /home/leandros/.gem/ruby/2.0.0/gems/git_stats-1.0.5/templates/author_details/_author_details.haml:33 [FINISH]
c:0039 p:---- s:0187 e:000186 CFUNC  :instance_eval
c:0038 p:0030 s:0184 e:000183 CLASS  /home/leandros/.gem/ruby/2.0.0/gems/git_stats-1.0.5/templates/author_details/_author_details.haml:-9
c:0037 p:0031 s:0180 e:000179 METHOD /home/leandros/.gem/ruby/2.0.0/gems/git_stats-1.0.5/templates/author_details/_author_details.haml:-11 [FINISH]
c:0036 p:---- s:0176 e:000175 CFUNC  :call
c:0035 p:0027 s:0172 e:000171 METHOD /home/leandros/.gem/ruby/2.0.0/gems/tilt-1.3.6/lib/tilt/template.rb:144
c:0034 p:0025 s:0165 e:000164 METHOD /home/leandros/.gem/ruby/2.0.0/gems/tilt-1.3.6/lib/tilt/haml.rb:24
c:0033 p:0034 s:0159 e:000158 METHOD /home/leandros/.gem/ruby/2.0.0/gems/tilt-1.3.6/lib/tilt/template.rb:77
c:0032 p:0060 s:0153 e:000152 METHOD /home/leandros/.gem/ruby/2.0.0/gems/git_stats-1.0.5/lib/git_stats/stats_view/template.rb:15
c:0031 p:0024 s:0148 e:000147 METHOD /home/leandros/.gem/ruby/2.0.0/gems/git_stats-1.0.5/lib/git_stats/stats_view/view_data.rb:18
c:0030 p:0182 s:0143 e:000140 BLOCK  /home/leandros/.gem/ruby/2.0.0/gems/git_stats-1.0.5/templates/author_details/deletions_by_date.haml:1 [FINISH]
c:0029 p:---- s:0132 e:000131 CFUNC  :instance_eval
c:0028 p:0030 s:0129 e:000128 CLASS  /home/leandros/.gem/ruby/2.0.0/gems/git_stats-1.0.5/templates/author_details/deletions_by_date.haml:-10
c:0027 p:0031 s:0125 e:000124 METHOD /home/leandros/.gem/ruby/2.0.0/gems/git_stats-1.0.5/templates/author_details/deletions_by_date.haml:-12 [FINISH]
c:0026 p:---- s:0121 e:000120 CFUNC  :call
c:0025 p:0027 s:0117 e:000116 METHOD /home/leandros/.gem/ruby/2.0.0/gems/tilt-1.3.6/lib/tilt/template.rb:144
c:0024 p:0025 s:0110 e:000109 METHOD /home/leandros/.gem/ruby/2.0.0/gems/tilt-1.3.6/lib/tilt/haml.rb:24
c:0023 p:0034 s:0104 e:000103 METHOD /home/leandros/.gem/ruby/2.0.0/gems/tilt-1.3.6/lib/tilt/template.rb:77
c:0022 p:0013 s:0098 e:000097 BLOCK  /home/leandros/.gem/ruby/2.0.0/gems/git_stats-1.0.5/lib/git_stats/stats_view/template.rb:13
c:0021 p:0422 s:0096 e:000092 BLOCK  /home/leandros/.gem/ruby/2.0.0/gems/git_stats-1.0.5/templates/layout.haml:29 [FINISH]
c:0020 p:---- s:0085 e:000084 CFUNC  :instance_eval
c:0019 p:0030 s:0082 e:000081 CLASS  /home/leandros/.gem/ruby/2.0.0/gems/git_stats-1.0.5/templates/layout.haml:-9
c:0018 p:0031 s:0078 e:000077 METHOD /home/leandros/.gem/ruby/2.0.0/gems/git_stats-1.0.5/templates/layout.haml:-11 [FINISH]
c:0017 p:---- s:0074 e:000073 CFUNC  :call
c:0016 p:0027 s:0070 e:000069 METHOD /home/leandros/.gem/ruby/2.0.0/gems/tilt-1.3.6/lib/tilt/template.rb:144
c:0015 p:0025 s:0063 e:000062 METHOD /home/leandros/.gem/ruby/2.0.0/gems/tilt-1.3.6/lib/tilt/haml.rb:24
c:0014 p:0034 s:0057 e:000056 METHOD /home/leandros/.gem/ruby/2.0.0/gems/tilt-1.3.6/lib/tilt/template.rb:77
c:0013 p:0047 s:0051 E:0013a8 METHOD /home/leandros/.gem/ruby/2.0.0/gems/git_stats-1.0.5/lib/git_stats/stats_view/template.rb:13
c:0012 p:0050 s:0046 e:000045 BLOCK  /home/leandros/.gem/ruby/2.0.0/gems/git_stats-1.0.5/lib/git_stats/stats_view/view.rb:28 [FINISH]
c:0011 p:---- s:0042 e:000041 CFUNC  :each
c:0010 p:0048 s:0039 e:000038 BLOCK  /home/leandros/.gem/ruby/2.0.0/gems/git_stats-1.0.5/lib/git_stats/stats_view/view.rb:27 [FINISH]
c:0009 p:---- s:0036 e:000035 CFUNC  :each
c:0008 p:0021 s:0033 e:000032 METHOD /home/leandros/.gem/ruby/2.0.0/gems/git_stats-1.0.5/lib/git_stats/stats_view/view.rb:24
c:0007 p:0029 s:0029 e:000028 METHOD /home/leandros/.gem/ruby/2.0.0/gems/git_stats-1.0.5/lib/git_stats/stats_view/view.rb:19
c:0006 p:0015 s:0026 e:000025 METHOD /home/leandros/.gem/ruby/2.0.0/gems/git_stats-1.0.5/lib/git_stats/generator.rb:5
c:0005 p:0072 s:0021 E:0026c8 METHOD /home/leandros/.gem/ruby/2.0.0/gems/git_stats-1.0.5/lib/git_stats/cli.rb:14
c:0004 p:0096 s:0014 e:000013 TOP    /home/leandros/.gem/ruby/2.0.0/gems/git_stats-1.0.5/bin/git_stats:11 [FINISH]
c:0003 p:---- s:0010 e:000009 CFUNC  :load
c:0002 p:0118 s:0006 E:000788 EVAL   /home/leandros/.gem/ruby/2.0.0/bin/git_stats:23 [FINISH]
c:0001 p:0000 s:0002 E:000dd8 TOP    [FINISH]

/home/leandros/.gem/ruby/2.0.0/bin/git_stats:23:in `<main>'
/home/leandros/.gem/ruby/2.0.0/bin/git_stats:23:in `load'
/home/leandros/.gem/ruby/2.0.0/gems/git_stats-1.0.5/bin/git_stats:11:in `<top (required)>'
/home/leandros/.gem/ruby/2.0.0/gems/git_stats-1.0.5/lib/git_stats/cli.rb:14:in `start'
/home/leandros/.gem/ruby/2.0.0/gems/git_stats-1.0.5/lib/git_stats/generator.rb:5:in `render_all'
/home/leandros/.gem/ruby/2.0.0/gems/git_stats-1.0.5/lib/git_stats/stats_view/view.rb:19:in `render_all'
/home/leandros/.gem/ruby/2.0.0/gems/git_stats-1.0.5/lib/git_stats/stats_view/view.rb:24:in `render_authors'
/home/leandros/.gem/ruby/2.0.0/gems/git_stats-1.0.5/lib/git_stats/stats_view/view.rb:24:in `each'
/home/leandros/.gem/ruby/2.0.0/gems/git_stats-1.0.5/lib/git_stats/stats_view/view.rb:27:in `block in render_authors'
/home/leandros/.gem/ruby/2.0.0/gems/git_stats-1.0.5/lib/git_stats/stats_view/view.rb:27:in `each'
/home/leandros/.gem/ruby/2.0.0/gems/git_stats-1.0.5/lib/git_stats/stats_view/view.rb:28:in `block (2 levels) in render_authors'
/home/leandros/.gem/ruby/2.0.0/gems/git_stats-1.0.5/lib/git_stats/stats_view/template.rb:13:in `render'
/home/leandros/.gem/ruby/2.0.0/gems/tilt-1.3.6/lib/tilt/template.rb:77:in `render'
/home/leandros/.gem/ruby/2.0.0/gems/tilt-1.3.6/lib/tilt/haml.rb:24:in `evaluate'
/home/leandros/.gem/ruby/2.0.0/gems/tilt-1.3.6/lib/tilt/template.rb:144:in `evaluate'
/home/leandros/.gem/ruby/2.0.0/gems/tilt-1.3.6/lib/tilt/template.rb:144:in `call'
/home/leandros/.gem/ruby/2.0.0/gems/git_stats-1.0.5/templates/layout.haml:-11:in `__tilt_6135320'
/home/leandros/.gem/ruby/2.0.0/gems/git_stats-1.0.5/templates/layout.haml:-9:in `singleton class'
/home/leandros/.gem/ruby/2.0.0/gems/git_stats-1.0.5/templates/layout.haml:-9:in `instance_eval'
/home/leandros/.gem/ruby/2.0.0/gems/git_stats-1.0.5/templates/layout.haml:29:in `block in singleton class'
/home/leandros/.gem/ruby/2.0.0/gems/git_stats-1.0.5/lib/git_stats/stats_view/template.rb:13:in `block in render'
/home/leandros/.gem/ruby/2.0.0/gems/tilt-1.3.6/lib/tilt/template.rb:77:in `render'
/home/leandros/.gem/ruby/2.0.0/gems/tilt-1.3.6/lib/tilt/haml.rb:24:in `evaluate'
/home/leandros/.gem/ruby/2.0.0/gems/tilt-1.3.6/lib/tilt/template.rb:144:in `evaluate'
/home/leandros/.gem/ruby/2.0.0/gems/tilt-1.3.6/lib/tilt/template.rb:144:in `call'
/home/leandros/.gem/ruby/2.0.0/gems/git_stats-1.0.5/templates/author_details/deletions_by_date.haml:-12:in `__tilt_6135320'
/home/leandros/.gem/ruby/2.0.0/gems/git_stats-1.0.5/templates/author_details/deletions_by_date.haml:-10:in `singleton class'
/home/leandros/.gem/ruby/2.0.0/gems/git_stats-1.0.5/templates/author_details/deletions_by_date.haml:-10:in `instance_eval'
/home/leandros/.gem/ruby/2.0.0/gems/git_stats-1.0.5/templates/author_details/deletions_by_date.haml:1:in `block in singleton class'
/home/leandros/.gem/ruby/2.0.0/gems/git_stats-1.0.5/lib/git_stats/stats_view/view_data.rb:18:in `render_partial'
/home/leandros/.gem/ruby/2.0.0/gems/git_stats-1.0.5/lib/git_stats/stats_view/template.rb:15:in `render'
/home/leandros/.gem/ruby/2.0.0/gems/tilt-1.3.6/lib/tilt/template.rb:77:in `render'
/home/leandros/.gem/ruby/2.0.0/gems/tilt-1.3.6/lib/tilt/haml.rb:24:in `evaluate'
/home/leandros/.gem/ruby/2.0.0/gems/tilt-1.3.6/lib/tilt/template.rb:144:in `evaluate'
/home/leandros/.gem/ruby/2.0.0/gems/tilt-1.3.6/lib/tilt/template.rb:144:in `call'
/home/leandros/.gem/ruby/2.0.0/gems/git_stats-1.0.5/templates/author_details/_author_details.haml:-11:in `__tilt_6135320'
/home/leandros/.gem/ruby/2.0.0/gems/git_stats-1.0.5/templates/author_details/_author_details.haml:-9:in `singleton class'
/home/leandros/.gem/ruby/2.0.0/gems/git_stats-1.0.5/templates/author_details/_author_details.haml:-9:in `instance_eval'
/home/leandros/.gem/ruby/2.0.0/gems/git_stats-1.0.5/templates/author_details/_author_details.haml:33:in `block in singleton class'
/home/leandros/.gem/ruby/2.0.0/gems/lazy_high_charts-1.4.1/lib/lazy_high_charts/layout_helper.rb:15:in `high_stock'
/home/leandros/.gem/ruby/2.0.0/gems/lazy_high_charts-1.4.1/lib/lazy_high_charts/layout_helper.rb:23:in `high_graph_stock'
/home/leandros/.gem/ruby/2.0.0/gems/lazy_high_charts-1.4.1/lib/lazy_high_charts/layout_helper.rb:28:in `build_html_output'
/home/leandros/.gem/ruby/2.0.0/gems/lazy_high_charts-1.4.1/lib/lazy_high_charts/layout_helper.rb:100:in `generate_json_from_array'
/home/leandros/.gem/ruby/2.0.0/gems/lazy_high_charts-1.4.1/lib/lazy_high_charts/layout_helper.rb:100:in `map'
/home/leandros/.gem/ruby/2.0.0/gems/lazy_high_charts-1.4.1/lib/lazy_high_charts/layout_helper.rb:100:in `block in generate_json_from_array'
/home/leandros/.gem/ruby/2.0.0/gems/lazy_high_charts-1.4.1/lib/lazy_high_charts/layout_helper.rb:89:in `generate_json_from_value'
/home/leandros/.gem/ruby/2.0.0/gems/lazy_high_charts-1.4.1/lib/lazy_high_charts/layout_helper.rb:81:in `generate_json_from_hash'
/home/leandros/.gem/ruby/2.0.0/gems/lazy_high_charts-1.4.1/lib/lazy_high_charts/layout_helper.rb:81:in `map'
/home/leandros/.gem/ruby/2.0.0/gems/lazy_high_charts-1.4.1/lib/lazy_high_charts/layout_helper.rb:81:in `each'
/home/leandros/.gem/ruby/2.0.0/gems/lazy_high_charts-1.4.1/lib/lazy_high_charts/layout_helper.rb:81:in `each_pair'
/home/leandros/.gem/ruby/2.0.0/gems/lazy_high_charts-1.4.1/lib/lazy_high_charts/layout_helper.rb:83:in `block in generate_json_from_hash'
/home/leandros/.gem/ruby/2.0.0/gems/lazy_high_charts-1.4.1/lib/lazy_high_charts/layout_helper.rb:91:in `generate_json_from_value'
/home/leandros/.gem/ruby/2.0.0/gems/lazy_high_charts-1.4.1/lib/lazy_high_charts/layout_helper.rb:100:in `generate_json_from_array'
/home/leandros/.gem/ruby/2.0.0/gems/lazy_high_charts-1.4.1/lib/lazy_high_charts/layout_helper.rb:100:in `map'
/home/leandros/.gem/ruby/2.0.0/gems/lazy_high_charts-1.4.1/lib/lazy_high_charts/layout_helper.rb:100:in `block in generate_json_from_array'
/home/leandros/.gem/ruby/2.0.0/gems/lazy_high_charts-1.4.1/lib/lazy_high_charts/layout_helper.rb:91:in `generate_json_from_value'
/home/leandros/.gem/ruby/2.0.0/gems/lazy_high_charts-1.4.1/lib/lazy_high_charts/layout_helper.rb:100:in `generate_json_from_array'
/home/leandros/.gem/ruby/2.0.0/gems/lazy_high_charts-1.4.1/lib/lazy_high_charts/layout_helper.rb:100:in `map'
/home/leandros/.gem/ruby/2.0.0/gems/lazy_high_charts-1.4.1/lib/lazy_high_charts/layout_helper.rb:100:in `block in generate_json_from_array'
/home/leandros/.gem/ruby/2.0.0/gems/lazy_high_charts-1.4.1/lib/lazy_high_charts/layout_helper.rb:95:in `generate_json_from_value'
/home/leandros/.gem/ruby/2.0.0/gems/lazy_high_charts-1.4.1/lib/lazy_high_charts/layout_helper.rb:95:in `to_json'
/home/leandros/.gem/ruby/2.0.0/gems/lazy_high_charts-1.4.1/lib/lazy_high_charts/layout_helper.rb:95:in `dup'

-- C level backtrace information -------------------------------------------
/usr/lib/libruby.so.2.0(+0x1725db) [0x7f09b48c15db]
/usr/lib/libruby.so.2.0(+0x60367) [0x7f09b47af367]
/usr/lib/libruby.so.2.0(rb_bug+0xb3) [0x7f09b47afa43]
/usr/lib/libruby.so.2.0(+0x10d68f) [0x7f09b485c68f]
/usr/lib/libc.so.6(+0x35240) [0x7f09b43d7240]
/usr/lib/libruby.so.2.0(+0x776b0) [0x7f09b47c66b0]
/usr/lib/libruby.so.2.0(+0x15d517) [0x7f09b48ac517]
/usr/lib/libruby.so.2.0(+0x784a3) [0x7f09b47c74a3]
/usr/lib/libruby.so.2.0(+0x79ea4) [0x7f09b47c8ea4]
/usr/lib/libruby.so.2.0(rb_data_object_alloc+0x2e) [0x7f09b47c91de]
/usr/lib/libruby.so.2.0(rb_obj_alloc+0x54) [0x7f09b47fc3e4]
/usr/lib/libruby.so.2.0(rb_obj_dup+0x4d) [0x7f09b47fc52d]
/usr/lib/libruby.so.2.0(+0x166241) [0x7f09b48b5241]
/usr/lib/libruby.so.2.0(rb_funcall+0x162) [0x7f09b48b5df2]
/usr/lib/ruby/2.0.0/x86_64-linux/json/ext/generator.so(+0x3eeb) [0x7f09b09d5eeb]
/usr/lib/libruby.so.2.0(+0x15d06f) [0x7f09b48ac06f]
/usr/lib/libruby.so.2.0(+0x15fede) [0x7f09b48aeede]
/usr/lib/libruby.so.2.0(+0x16519c) [0x7f09b48b419c]
/usr/lib/libruby.so.2.0(rb_yield+0x220) [0x7f09b48bcbb0]
/usr/lib/libruby.so.2.0(+0x34e5d) [0x7f09b4783e5d]
/usr/lib/libruby.so.2.0(+0x15d06f) [0x7f09b48ac06f]
/usr/lib/libruby.so.2.0(+0x15fe77) [0x7f09b48aee77]
/usr/lib/libruby.so.2.0(+0x16519c) [0x7f09b48b419c]
/usr/lib/libruby.so.2.0(rb_yield+0x220) [0x7f09b48bcbb0]
/usr/lib/libruby.so.2.0(+0x34e5d) [0x7f09b4783e5d]
/usr/lib/libruby.so.2.0(+0x15d06f) [0x7f09b48ac06f]
/usr/lib/libruby.so.2.0(+0x15fe77) [0x7f09b48aee77]
/usr/lib/libruby.so.2.0(+0x16519c) [0x7f09b48b419c]
/usr/lib/libruby.so.2.0(rb_yield_values2+0x229) [0x7f09b48bc3e9]
/usr/lib/libruby.so.2.0(+0x57c9e) [0x7f09b47a6c9e]
/usr/lib/libruby.so.2.0(+0x15eb6c) [0x7f09b48adb6c]
/usr/lib/libruby.so.2.0(rb_yield+0x2bc) [0x7f09b48bcc4c]
/usr/lib/libruby.so.2.0(+0x7b2e1) [0x7f09b47ca2e1]
/usr/lib/libruby.so.2.0(+0x7bd07) [0x7f09b47cad07]
/usr/lib/libruby.so.2.0(st_foreach_check+0x9f) [0x7f09b48650bf]
/usr/lib/libruby.so.2.0(+0x7c9ef) [0x7f09b47cb9ef]
/usr/lib/libruby.so.2.0(rb_ensure+0xce) [0x7f09b47b4abe]
/usr/lib/libruby.so.2.0(rb_hash_foreach+0x36) [0x7f09b47cbdc6]
/usr/lib/libruby.so.2.0(+0x7cf7e) [0x7f09b47cbf7e]
/usr/lib/libruby.so.2.0(+0x166241) [0x7f09b48b5241]
/usr/lib/libruby.so.2.0(+0x1675da) [0x7f09b48b65da]
/usr/lib/libruby.so.2.0(rb_iterate+0xd2) [0x7f09b48ad132]
/usr/lib/libruby.so.2.0(rb_block_call+0x2b) [0x7f09b48ad35b]
/usr/lib/libruby.so.2.0(+0x166241) [0x7f09b48b5241]
/usr/lib/libruby.so.2.0(+0x1675da) [0x7f09b48b65da]
/usr/lib/libruby.so.2.0(rb_iterate+0xd2) [0x7f09b48ad132]
/usr/lib/libruby.so.2.0(rb_block_call+0x2b) [0x7f09b48ad35b]
/usr/lib/libruby.so.2.0(+0x5860d) [0x7f09b47a760d]
/usr/lib/libruby.so.2.0(+0x15d06f) [0x7f09b48ac06f]
/usr/lib/libruby.so.2.0(+0x15fe77) [0x7f09b48aee77]
/usr/lib/libruby.so.2.0(+0x16519c) [0x7f09b48b419c]
/usr/lib/libruby.so.2.0(rb_yield+0x220) [0x7f09b48bcbb0]
/usr/lib/libruby.so.2.0(+0x34e5d) [0x7f09b4783e5d]
/usr/lib/libruby.so.2.0(+0x15d06f) [0x7f09b48ac06f]
/usr/lib/libruby.so.2.0(+0x16b24d) [0x7f09b48ba24d]
/usr/lib/libruby.so.2.0(+0x15fe77) [0x7f09b48aee77]
/usr/lib/libruby.so.2.0(+0x16519c) [0x7f09b48b419c]
/usr/lib/libruby.so.2.0(+0x16c61d) [0x7f09b48bb61d]
/usr/lib/libruby.so.2.0(+0x16caee) [0x7f09b48bbaee]
/usr/lib/libruby.so.2.0(+0x15d06f) [0x7f09b48ac06f]
/usr/lib/libruby.so.2.0(+0x16b24d) [0x7f09b48ba24d]
/usr/lib/libruby.so.2.0(+0x15fe77) [0x7f09b48aee77]
/usr/lib/libruby.so.2.0(+0x16519c) [0x7f09b48b419c]
/usr/lib/libruby.so.2.0(+0x166354) [0x7f09b48b5354]
/usr/lib/libruby.so.2.0(+0x166617) [0x7f09b48b5617]
/usr/lib/libruby.so.2.0(rb_method_call+0x161) [0x7f09b47b9ac1]
/usr/lib/libruby.so.2.0(+0x15d06f) [0x7f09b48ac06f]
/usr/lib/libruby.so.2.0(+0x16b24d) [0x7f09b48ba24d]
/usr/lib/libruby.so.2.0(+0x15fe77) [0x7f09b48aee77]
/usr/lib/libruby.so.2.0(+0x16519c) [0x7f09b48b419c]
/usr/lib/libruby.so.2.0(+0x16c61d) [0x7f09b48bb61d]
/usr/lib/libruby.so.2.0(+0x16caee) [0x7f09b48bbaee]
/usr/lib/libruby.so.2.0(+0x15d06f) [0x7f09b48ac06f]
/usr/lib/libruby.so.2.0(+0x16b24d) [0x7f09b48ba24d]
/usr/lib/libruby.so.2.0(+0x15fe77) [0x7f09b48aee77]
/usr/lib/libruby.so.2.0(+0x16519c) [0x7f09b48b419c]
/usr/lib/libruby.so.2.0(+0x166354) [0x7f09b48b5354]
/usr/lib/libruby.so.2.0(+0x166617) [0x7f09b48b5617]
/usr/lib/libruby.so.2.0(rb_method_call+0x161) [0x7f09b47b9ac1]
/usr/lib/libruby.so.2.0(+0x15d06f) [0x7f09b48ac06f]
/usr/lib/libruby.so.2.0(+0x16b24d) [0x7f09b48ba24d]
/usr/lib/libruby.so.2.0(+0x15fe77) [0x7f09b48aee77]
/usr/lib/libruby.so.2.0(+0x16519c) [0x7f09b48b419c]
/usr/lib/libruby.so.2.0(+0x16c61d) [0x7f09b48bb61d]
/usr/lib/libruby.so.2.0(+0x16caee) [0x7f09b48bbaee]
/usr/lib/libruby.so.2.0(+0x15d06f) [0x7f09b48ac06f]
/usr/lib/libruby.so.2.0(+0x16b24d) [0x7f09b48ba24d]
/usr/lib/libruby.so.2.0(+0x15fe77) [0x7f09b48aee77]
/usr/lib/libruby.so.2.0(+0x16519c) [0x7f09b48b419c]
/usr/lib/libruby.so.2.0(+0x166354) [0x7f09b48b5354]
/usr/lib/libruby.so.2.0(+0x166617) [0x7f09b48b5617]
/usr/lib/libruby.so.2.0(rb_method_call+0x161) [0x7f09b47b9ac1]
/usr/lib/libruby.so.2.0(+0x15d06f) [0x7f09b48ac06f]
/usr/lib/libruby.so.2.0(+0x16b24d) [0x7f09b48ba24d]
/usr/lib/libruby.so.2.0(+0x15fe77) [0x7f09b48aee77]
/usr/lib/libruby.so.2.0(+0x16519c) [0x7f09b48b419c]
/usr/lib/libruby.so.2.0(rb_yield+0x220) [0x7f09b48bcbb0]
/usr/lib/libruby.so.2.0(rb_ary_each+0x52) [0x7f09b477ddb2]
/usr/lib/libruby.so.2.0(+0x15d06f) [0x7f09b48ac06f]
/usr/lib/libruby.so.2.0(+0x16b24d) [0x7f09b48ba24d]
/usr/lib/libruby.so.2.0(+0x15fe77) [0x7f09b48aee77]
/usr/lib/libruby.so.2.0(+0x16519c) [0x7f09b48b419c]
/usr/lib/libruby.so.2.0(rb_yield+0x220) [0x7f09b48bcbb0]
/usr/lib/libruby.so.2.0(rb_ary_each+0x52) [0x7f09b477ddb2]
/usr/lib/libruby.so.2.0(+0x15d06f) [0x7f09b48ac06f]
/usr/lib/libruby.so.2.0(+0x16b24d) [0x7f09b48ba24d]
/usr/lib/libruby.so.2.0(+0x15fe77) [0x7f09b48aee77]
/usr/lib/libruby.so.2.0(+0x16519c) [0x7f09b48b419c]
/usr/lib/libruby.so.2.0(rb_iseq_eval+0x129) [0x7f09b48bd319]
/usr/lib/libruby.so.2.0(+0x67815) [0x7f09b47b6815]
/usr/lib/libruby.so.2.0(+0x683b9) [0x7f09b47b73b9]
/usr/lib/libruby.so.2.0(+0x15d06f) [0x7f09b48ac06f]
/usr/lib/libruby.so.2.0(+0x16b24d) [0x7f09b48ba24d]
/usr/lib/libruby.so.2.0(+0x15fede) [0x7f09b48aeede]
/usr/lib/libruby.so.2.0(+0x16519c) [0x7f09b48b419c]
/usr/lib/libruby.so.2.0(rb_iseq_eval_main+0x85) [0x7f09b48bd3d5]
/usr/lib/libruby.so.2.0(+0x641ca) [0x7f09b47b31ca]
/usr/lib/libruby.so.2.0(ruby_exec_node+0x1d) [0x7f09b47b41cd]
/usr/lib/libruby.so.2.0(ruby_run_node+0x1e) [0x7f09b47b5d9e]
/usr/bin/ruby() [0x4008ab]
/usr/lib/libc.so.6(__libc_start_main+0xf5) [0x7f09b43c3a15]
/usr/bin/ruby() [0x4008d9]

-- Other runtime information -----------------------------------------------

* Loaded script: /home/leandros/.gem/ruby/2.0.0/bin/git_stats

Breaks with Ubuntu 15.04 Ruby 2.2.3

I am running 2.2.3 and have encountered the following error:

michael@ubuntu:/repo (master)*$ gem install git_stats
Fetching: thread_safe-0.3.5.gem (100%)
Successfully installed thread_safe-0.3.5
Fetching: minitest-5.8.0.gem (100%)
Successfully installed minitest-5.8.0
Fetching: tzinfo-1.2.2.gem (100%)
Successfully installed tzinfo-1.2.2
Fetching: i18n-0.7.0.gem (100%)
Successfully installed i18n-0.7.0
Fetching: activesupport-4.2.4.gem (100%)
Successfully installed activesupport-4.2.4
Fetching: rails-deprecated_sanitizer-1.0.3.gem (100%)
Successfully installed rails-deprecated_sanitizer-1.0.3
Fetching: mini_portile-0.6.2.gem (100%)
Successfully installed mini_portile-0.6.2
Fetching: nokogiri-1.6.6.2.gem (100%)
Building native extensions.  This could take a while...
ERROR:  Error installing git_stats:
    ERROR: Failed to build gem native extension.

    /home/michael/.rvm/rubies/ruby-2.2.3/bin/ruby -r ./siteconf20150916-9883-h3jbtk.rb extconf.rb
checking if the C compiler accepts ... *** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers.  Check the mkmf.log file for more details.  You may
need configuration options.

Provided configuration options:
    --with-opt-dir
    --without-opt-dir
    --with-opt-include
    --without-opt-include=${opt-dir}/include
    --with-opt-lib
    --without-opt-lib=${opt-dir}/lib
    --with-make-prog
    --without-make-prog
    --srcdir=.
    --curdir
    --ruby=/home/michael/.rvm/rubies/ruby-2.2.3/bin/$(RUBY_BASE_NAME)
    --help
    --clean
/home/michael/.rvm/rubies/ruby-2.2.3/lib/ruby/2.2.0/mkmf.rb:456:in `try_do': The compiler failed to generate an executable file. (RuntimeError)
You have to install development tools first.
    from /home/michael/.rvm/rubies/ruby-2.2.3/lib/ruby/2.2.0/mkmf.rb:571:in `block in try_compile'
    from /home/michael/.rvm/rubies/ruby-2.2.3/lib/ruby/2.2.0/mkmf.rb:522:in `with_werror'
    from /home/michael/.rvm/rubies/ruby-2.2.3/lib/ruby/2.2.0/mkmf.rb:571:in `try_compile'
    from extconf.rb:80:in `nokogiri_try_compile'
    from extconf.rb:87:in `block in add_cflags'
    from /home/michael/.rvm/rubies/ruby-2.2.3/lib/ruby/2.2.0/mkmf.rb:619:in `with_cflags'
    from extconf.rb:86:in `add_cflags'
    from extconf.rb:337:in `<main>'

extconf failed, exit code 1

Gem files will remain installed in /home/michael/.rvm/gems/ruby-2.2.3/gems/nokogiri-1.6.6.2 for inspection.
Results logged to /home/michael/.rvm/gems/ruby-2.2.3/extensions/x86_64-linux/2.2.0/nokogiri-1.6.6.2/gem_make.out

Using 2.2.1 seems to fix the issue.

Aggregate multiple repos?

git_stats looks pretty slick!

I'm looking for a git stats tool that gives us aggregated data for all repos across a bunch of orgs and selected personal repositories.

Do you think that could be added to git_stats.

Show Best author over time period

Any way to modify best author page by time range? similar to other time ranges in charts.

also any way to rank best authors by lines added or deleted or changed vs just commits?

THANKS!
-M

ERROR: Loading command: install (LoadError)

I get this error on macOS sierra using rbenv with 2.3.1

$ gem install git_stats
ERROR:  Loading command: install (LoadError)
    dlopen(/Users/admin/.rbenv/versions/2.3.1/lib/ruby/2.3.0/x86_64-darwin16/openssl.bundle, 9): Library not loaded: /usr/local/opt/openssl/lib/libssl.1.0.0.dylib
  Referenced from: /Users/admin/.rbenv/versions/2.3.1/lib/ruby/2.3.0/x86_64-darwin16/openssl.bundle
  Reason: image not found - /Users/admin/.rbenv/versions/2.3.1/lib/ruby/2.3.0/x86_64-darwin16/openssl.bundle
ERROR:  While executing gem ... (NoMethodError)
    undefined method `invoke_with_build_args' for nil:NilClass

Dates are incompatible

We are using git_stats 1'st day, our version is: GitStats 1.0.11, installed on Ubuntu Server 12.04, using ruby 1.9.3.

On General page we can see: Period March 06, 2014 09:56 .. June 07, 2014 16:00
But last commit date in Commits sum author by date last is 14:00-14:04, there's 2 hour difference.

We suspecting that the issue could be related to TimeZones, we developing in Poland, GMT+1 (and extra +1 by day savelight time [DST]).

lastcommit_date

Link to our stats: http://mmayhem.terada.pl/stats/

From and To not working

Hello guys.

I've trying to get stats using the to and from options but without luck.

I've executed it like this:

git_stats generate --from=6e3a08a8cef3a0b0ca63932eea979f9786fd1e03 --to=05e2e8e93f2af0a6a82a89b14555c9920a4b779e

I did managed to get the result I wanted by overriding the commits_range method, so it seems to be a bug parsing the options?

Breaks with psych 2.0.13

Thanks for a great project.

When generating I got this error

undefined method `load_file' for Psych:Module

Google found this: sferik/t-ruby#258

Uninstalling psych and then install 2.0.5 fixed the problem. gem uninstall psych; gem install --version 2.0.5 psych

So you may want to restrict the psych version.

Date without commits are not shown in graph (Lines by Date)

I generated statistics for one of my project using git_stats and gitstats as follows.
With gitstats, when generating graphs, days without commits are also shown whereas with git_stats days only with commits are shown.

I like git_stats because of its beautiful layout.

Is there any switches or way to make git_stats show graphs with days without commits?

git_stats_lines

gitstats_lines

Thank You.

Specify a start revsion

I have repo that have initial revision that consists of the import of the source from a project. This initial revision will usually be huge and result in it swamping all other revisions in charts and graphs.
It would be nice if the git_stats binary would accept a start revision to generate statistics from.
(I suppose a end revision might also be useful to provide a complete range, though usually a clone can be made just up to the revision of interest)

Urgent ! This repository exposes my email along with my ex-nickname, this is of crucial importance to me

Please remove it. I can't explain this further in this public site, but You need to remove my email in your database reached with this link: http://tomgi.github.io/git_stats/examples/rails/authors/user_name ( I changed this username since It is associated with something not accepted so friendly in middle eastern countries :/ ) . Or better yet just update the ex nickname with the new one. I need to contact an authorized user on this repository.

Please, give me a contact address

PS: I will also delete this post for the same reason.

Performance/Speed

Hello -- first let me say this is an awesome tool and thanks for creating and updating this!

I'm wondering if you have a suggestion to speed up the computation and/or have plans to make this faster in the future.

I have a repo that has tens of thousands of commits from 30 different authors. I've git_stats running on this repo for many days (on my latest Mac Pro) and it's still going.

I tried subsetting to a commit range, which isnt seeming to have an effect (as in, it still looks like it's going to take a long long while). Here is my command line

git_stats generate --path= --out-path=./git_stats --first-commit-sha= --last-commit-sha=

I am seeing a different set of logs if I do and dont use the sha params. However, when I use the sha params i also get this error:

git show --shortstat --oneline --no-renames 268670637 -- .
fatal: Needed a single revision

I've double checked those sha ranges. That range is just 4 commits so I was hoping that would be fast.

Any ideas on all this?

No. of commits differ

Hello,

The # of commits obtained from the command line (git log --oneline | wc -l) is differ from the git_stat report. When looked into the the git_stats command log, found that the command it runs is:

git rev-list --pretty=format:'%H|%at|%ai|%aE' HEAD . | grep -v commit

git rev-list --pretty=format:'%H|%at|%ai|%aE' HEAD . | grep -v commit | wc -l
--> 30

git rev-list --pretty=format:'%H|%at|%ai|%aE' HEAD | grep -v commit | wc -l
--> 45

The dot after HEAD is the main issue. It takes the commits from the current folder. If I run the command manually without dot, it gives me the correct count.

Please let me know how can I remove the dot after the HEAD from it. I treid with the --tree option, but with no luck.

Thanks,
JS

How to extend charts ?

Is there any documentation to extend git stats ?

For instance, I'd like to get the commit hours per day / per week of each author ?

Thanks for this project.

S.

Not work on very large repo?

I got this error then I try to analyze cdnjs/cdnjs, this is a really huge repo with more than 10k commits and 11GB disk space usage, I am not sure if this the reason to make the analysis failed, I have no problem with other repos, hope somebody can give me some suggestions, I didn't write code in ruby, so it's hard for me to debug by myself.

Thanks!

git rev-list --pretty=format:'%h|%at|%ai|%aE' HEAD . | grep -v commit
git shortlog -se HEAD .
/var/lib/gems/1.9.1/gems/git_stats-1.0.14/lib/git_stats/command_parser.rb:11:in `scan': invalid byte sequence in UTF-8 (ArgumentError)
        from /var/lib/gems/1.9.1/gems/git_stats-1.0.14/lib/git_stats/command_parser.rb:11:in `block in parse_shortlog'
        from /var/lib/gems/1.9.1/gems/git_stats-1.0.14/lib/git_stats/command_parser.rb:10:in `lines'
        from /var/lib/gems/1.9.1/gems/git_stats-1.0.14/lib/git_stats/command_parser.rb:10:in `each'
        from /var/lib/gems/1.9.1/gems/git_stats-1.0.14/lib/git_stats/command_parser.rb:10:in `map'
        from /var/lib/gems/1.9.1/gems/git_stats-1.0.14/lib/git_stats/command_parser.rb:10:in `parse_shortlog'
        from /var/lib/gems/1.9.1/gems/git_stats-1.0.14/lib/git_stats/command_parser.rb:6:in `parse'
        from /var/lib/gems/1.9.1/gems/git_stats-1.0.14/lib/git_stats/git_data/repo.rb:134:in `run_and_parse'
        from /var/lib/gems/1.9.1/gems/git_stats-1.0.14/lib/git_stats/git_data/repo.rb:43:in `authors'
        from /var/lib/gems/1.9.1/gems/git_stats-1.0.14/lib/git_stats/git_data/repo.rb:55:in `block in commits'
        from /var/lib/gems/1.9.1/gems/git_stats-1.0.14/lib/git_stats/git_data/repo.rb:49:in `map'
        from /var/lib/gems/1.9.1/gems/git_stats-1.0.14/lib/git_stats/git_data/repo.rb:49:in `commits'
        from /var/lib/gems/1.9.1/gems/git_stats-1.0.14/lib/git_stats/git_data/repo.rb:115:in `activity'
        from /var/lib/gems/1.9.1/gems/git_stats-1.0.14/templates/activity/_activity.haml:97:in `block in singletonclass'
        from /var/lib/gems/1.9.1/gems/git_stats-1.0.14/templates/activity/_activity.haml:65526:in `instance_eval'
        from /var/lib/gems/1.9.1/gems/git_stats-1.0.14/templates/activity/_activity.haml:65526:in `singletonclass'
        from /var/lib/gems/1.9.1/gems/git_stats-1.0.14/templates/activity/_activity.haml:65524:in `__tilt_9709560'
        from /var/lib/gems/1.9.1/gems/tilt-2.0.1/lib/tilt/template.rb:155:in `call'
        from /var/lib/gems/1.9.1/gems/tilt-2.0.1/lib/tilt/template.rb:155:in `evaluate'
        from /var/lib/gems/1.9.1/gems/tilt-2.0.1/lib/tilt/haml.rb:17:in `evaluate'
        from /var/lib/gems/1.9.1/gems/tilt-2.0.1/lib/tilt/template.rb:96:in `render'
        from /var/lib/gems/1.9.1/gems/git_stats-1.0.14/lib/git_stats/stats_view/template.rb:15:in `render'
        from /var/lib/gems/1.9.1/gems/git_stats-1.0.14/lib/git_stats/stats_view/view_data.rb:18:in `render_partial'
        from /var/lib/gems/1.9.1/gems/git_stats-1.0.14/templates/activity/year_month.haml:1:in `block in singletonclass'
        from /var/lib/gems/1.9.1/gems/git_stats-1.0.14/templates/activity/year_month.haml:65526:in `instance_eval'
        from /var/lib/gems/1.9.1/gems/git_stats-1.0.14/templates/activity/year_month.haml:65526:in `singletonclass'
        from /var/lib/gems/1.9.1/gems/git_stats-1.0.14/templates/activity/year_month.haml:65524:in `__tilt_9709560'
        from /var/lib/gems/1.9.1/gems/tilt-2.0.1/lib/tilt/template.rb:155:in `call'
        from /var/lib/gems/1.9.1/gems/tilt-2.0.1/lib/tilt/template.rb:155:in `evaluate'
        from /var/lib/gems/1.9.1/gems/tilt-2.0.1/lib/tilt/haml.rb:17:in `evaluate'
        from /var/lib/gems/1.9.1/gems/tilt-2.0.1/lib/tilt/template.rb:96:in `render'
        from /var/lib/gems/1.9.1/gems/git_stats-1.0.14/lib/git_stats/stats_view/template.rb:13:in `block in render'
        from /var/lib/gems/1.9.1/gems/git_stats-1.0.14/templates/layout.haml:30:in `block in singletonclass'
        from /var/lib/gems/1.9.1/gems/git_stats-1.0.14/templates/layout.haml:65526:in `instance_eval'
        from /var/lib/gems/1.9.1/gems/git_stats-1.0.14/templates/layout.haml:65526:in `singletonclass'
        from /var/lib/gems/1.9.1/gems/git_stats-1.0.14/templates/layout.haml:65524:in `__tilt_9709560'
        from /var/lib/gems/1.9.1/gems/tilt-2.0.1/lib/tilt/template.rb:155:in `call'
        from /var/lib/gems/1.9.1/gems/tilt-2.0.1/lib/tilt/template.rb:155:in `evaluate'
        from /var/lib/gems/1.9.1/gems/tilt-2.0.1/lib/tilt/haml.rb:17:in `evaluate'
        from /var/lib/gems/1.9.1/gems/tilt-2.0.1/lib/tilt/template.rb:96:in `render'
        from /var/lib/gems/1.9.1/gems/git_stats-1.0.14/lib/git_stats/stats_view/template.rb:13:in `render'
        from /var/lib/gems/1.9.1/gems/git_stats-1.0.14/lib/git_stats/stats_view/view.rb:15:in `block in render_all'
        from /var/lib/gems/1.9.1/gems/git_stats-1.0.14/lib/git_stats/stats_view/view.rb:14:in `each'
        from /var/lib/gems/1.9.1/gems/git_stats-1.0.14/lib/git_stats/stats_view/view.rb:14:in `render_all'
        from /var/lib/gems/1.9.1/gems/git_stats-1.0.14/lib/git_stats/generator.rb:5:in `render_all'
        from /var/lib/gems/1.9.1/gems/git_stats-1.0.14/lib/git_stats/cli.rb:18:in `generate'
        from /var/lib/gems/1.9.1/gems/thor-0.19.1/lib/thor/command.rb:27:in `run'
        from /var/lib/gems/1.9.1/gems/thor-0.19.1/lib/thor/invocation.rb:126:in `invoke_command'
        from /var/lib/gems/1.9.1/gems/thor-0.19.1/lib/thor.rb:359:in `dispatch'
        from /var/lib/gems/1.9.1/gems/thor-0.19.1/lib/thor/base.rb:440:in `start'
        from /var/lib/gems/1.9.1/gems/git_stats-1.0.14/bin/git_stats:10:in `<top (required)>'
        from /usr/local/bin/git_stats:23:in `load'
        from /usr/local/bin/git_stats:23:in `<main>'

New feature

Maybe somebody's never said that to you, but you've done a really, really good job :-)

I started use git_stats ,and to be onest it's very handy tool . But there is one missing functionality .
I would like to know how big or maybe small is each commit .

The esence of contonous delivery is realy about delivering busness value as quick as it is possible.
What its mean in the practise .
It's that we need release often, the changes should be small and well define in scope.

By using git_stat I can check chow often new commits are publish, I can check who is pusing the commit but I can't check how big the commits are .

In my practise I observe many times that developers commit a HUGE changes to repo.

i think that the new feature should be come in handy ,
Regards
Pete

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.