Sha256: d417c489f67daa1b7ad41a0461f08298e165137229c3a0636ed07f96fc1516e4
Contents?: true
Size: 586 Bytes
Versions: 12
Compression:
Stored size: 586 Bytes
Contents
namespace :metric do desc 'changes per file according to git' task :churn do $stdout.sync = true out = lambda{|changes, rb| puts("%4d %s" % [changes, rb]) } churn = {} print 'churning ' Dir['lib/**/*.rb'].each do |rb| changes = `git-log --pretty=oneline '#{rb}'`.count("\n") print '.' # out[changes, rb] churn[rb] = changes end puts ' done.' sorted = churn.sort_by{|r,c| c }.reverse puts "Top 20:" sorted.first(20).each{|(r,c)| out[c,r] } puts "Bottom 20:" sorted.last(20).each{|(r,c)| out[c,r] } end end
Version data entries
12 entries across 12 versions & 3 rubygems