Class Rake::ShipitTask::VC::SVN
In: lib/shipit/vc.rb
Parent: Object

Methods

Public Class methods

[Source]

    # File lib/shipit/vc.rb, line 61
61:                 def self.accept?
62:                         File.exist? ".svn"
63:                 end

Public Instance methods

[Source]

     # File lib/shipit/vc.rb, line 108
108:                 def are_local_diffs(ver)
109:                         `svn diff`.match(/\S/)
110:                 end

[Source]

    # File lib/shipit/vc.rb, line 65
65:                 def commit(msg)
66:                         temp = Tempfile.open("svn-commit")
67:                         temp << msg
68:                         temp.close
69: 
70:                         system "svn", "ci", "--file", temp.path
71:                 end

[Source]

    # File lib/shipit/vc.rb, line 92
92:                 def exists_tagged_version(ver)
93:                         !!`svn info '#{tag_url(ver)}'`[/Node Kind: directory/]
94:                 end

[Source]

     # File lib/shipit/vc.rb, line 104
104:                 def local_diff(file)
105:                         `svn diff #{file}`
106:                 end

[Source]

    # File lib/shipit/vc.rb, line 73
73:                 def precommit
74:                         unknown = []
75:                         changes = false
76:                         `svn st`.split(/\n/).each do |l|
77:                                 changes = true
78:                                 next unless l =~ /^\?/
79:                                 unknown << l
80:                         end
81: 
82:                         unless unknown.empty?
83:                                 raise unknown.join("\n")
84:                         end
85: 
86:                         unless changes
87:                                 warn "No locally changed files. skipping commit"
88:                                 return
89:                         end
90:                 end

[Source]

     # File lib/shipit/vc.rb, line 96
 96:                 def tag_version(ver, msg)
 97:                         temp = Tempfile.open("svn-commit")
 98:                         temp << msg
 99:                         temp.close
100: 
101:                         system 'svn', 'copy', '--file', temp.path, trunk_url.to_s, tag_url(ver).to_s
102:                 end

[Validate]