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.
27 28 29 |
# File 'lib/hoc/svn.rb', line 27 def initialize(dir) @dir = dir end |
Instance Method Details
#hits ⇒ Object
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/hoc/svn.rb', line 31 def hits version = `svn --non-interactive --version --quiet` raise "svn version #{version} is too old, upgrade it to 1.7+" unless Gem::Version.new(version) >= Gem::Version.new('1.7') raise '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(&:to_i).select { |x| x > 0 } .drop(1).inject(:+) ) ] end |