Sha256: 4b599deb1ece3ef571f2b8d8e9ef416890262d14e60c0882b0111c6c1fd8f7b0

Contents?: true

Size: 858 Bytes

Versions: 9

Compression:

Stored size: 858 Bytes

Contents

require 'cerberus/utils'
require 'cerberus/scm/base'

class Cerberus::SCM::CVS < Cerberus::SCM::Base

  def installed?
    exec_successful? "#{@config[:bin_path]}cvs --version"
  end

  def update!
    if test(?d, @path + '/CVS')
      @status = execute("update")
    else
      FileUtils.mkpath(@path) unless test(?d,@path)
      @status = execute("checkout", nil, @config[:scm, :url])
    end
  end

  def has_changes?
    @status =~ /^[U|P|C] (.*)/
  end

  def current_revision
    raise NotImplementedError
  end

  def url
    raise NotImplementedError
  end

  def last_commit_message
    raise NotImplementedError
  end

  def last_author
    raise NotImplementedError
  end

  private
  def execute(command, parameters = nil, pre_parameters = nil)
    `#{@config[:bin_path]}cvs #{command} #{pre_parameters} #{@encoded_path} #{parameters}`
  end
end

Version data entries

9 entries across 9 versions & 2 rubygems

Version Path
cerberus-0.8.0 lib/cerberus/scm/cvs.rb
cerberus-0.7.9 lib/cerberus/scm/cvs.rb
edavis10-cerberus-0.7.8 lib/cerberus/scm/cvs.rb
cerberus-0.7.8 lib/cerberus/scm/cvs.rb
cerberus-0.7.7 lib/cerberus/scm/cvs.rb
cerberus-0.7.6 lib/cerberus/scm/cvs.rb
cerberus-0.7.2 lib/cerberus/scm/cvs.rb
cerberus-0.7.5 lib/cerberus/scm/cvs.rb
cerberus-0.7 lib/cerberus/scm/cvs.rb