Class: HOC::Svn
- Inherits:
-
Object
- Object
- HOC::Svn
- Defined in:
- lib/hoc/svn.rb
Overview
Subversion source code base.
Instance Method Summary collapse
- #hits ⇒ Object
-
#initialize(dir) ⇒ Svn
constructor
A new instance of Svn.
Constructor Details
#initialize(dir) ⇒ Svn
Returns a new instance of Svn.
30 31 32 |
# File 'lib/hoc/svn.rb', line 30 def initialize(dir) @dir = dir end |
Instance Method Details
#hits ⇒ Object
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
# File 'lib/hoc/svn.rb', line 34 def hits version = `svn --version --quiet` fail "svn version #{version} is too old" unless Gem::Version.new(version) >= Gem::Version.new('1.7') fail 'diffstat is not installed' if `diffstat -V`.index('version').nil? log = `cd '#{@dir}'; svn log --diff | diffstat` [ Hits.new( Time.now, log.split(/\n/).last.split(/[^\d]/) .map { |s| s.to_i }.select { |x| x > 0 } .drop(1).inject(:+) ) ] end |