Class: Provisional::SCM::Svn

Inherits:
Object
  • Object
show all
Defined in:
lib/provisional/scm/svn.rb

Direct Known Subclasses

UnfuddleSvn

Instance Method Summary collapse

Constructor Details

#initialize(options) ⇒ Svn



7
8
9
# File 'lib/provisional/scm/svn.rb', line 7

def initialize(options)
  @options = options
end

Instance Method Details

#checkinObject



33
34
35
36
37
38
39
# File 'lib/provisional/scm/svn.rb', line 33

def checkin
  # TODO: set svn:ignores
  rescuing_exceptions do
    system("svn add *")
    system("svn commit -m 'Initial commit by Provisional'")
  end
end

#generate_rails(create_structure = true) ⇒ Object



20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/provisional/scm/svn.rb', line 20

def generate_rails(create_structure = true)
  rescuing_exceptions do
    system("svn co --username=#{@options['username']} --password=#{@options['password']} #{@options['url']} #{@options['name']}")
    Dir.chdir @options['name']
    if create_structure
      %w(branches tags trunk).each {|d| Dir.mkdir(d)}
      system("svn add branches tags trunk")
      system("svn commit -m 'Structure by Provisional'")
    end
    Provisional::RailsApplication.new('trunk', @options['template_path'])
  end
end

#gitignoreObject

Raises:

  • (NotImplementedError)


11
12
13
14
# File 'lib/provisional/scm/svn.rb', line 11

def gitignore
  # FIXME: implement it
  raise NotImplementedError
end

#initObject

Raises:

  • (NotImplementedError)


16
17
18
# File 'lib/provisional/scm/svn.rb', line 16

def init
  raise NotImplementedError, "The SVN scm cannot currently be used directly"
end