rorsvnprep 0.1.0 → 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- data/bin/rorsvnprep +28 -20
- data/lib/rorsvnprep.rb +55 -42
- metadata +2 -2
data/bin/rorsvnprep
CHANGED
@@ -82,11 +82,10 @@ class RORSVNPREP < Hash
|
|
82
82
|
def initialize
|
83
83
|
super()
|
84
84
|
|
85
|
-
puts ARGV.join(', ')
|
86
|
-
|
87
85
|
self[:svnuri] = ""
|
88
86
|
self[:password] = ""
|
89
87
|
self[:verbose] = false
|
88
|
+
self[:log] = false
|
90
89
|
|
91
90
|
opts = OptionParser.new do |opts|
|
92
91
|
opts.banner = "Usage: rorsvnprep project [options]"
|
@@ -107,6 +106,10 @@ class RORSVNPREP < Hash
|
|
107
106
|
self[:verbose] = true
|
108
107
|
end
|
109
108
|
|
109
|
+
opts.on( '--log', 'create a log of command activity' ) do
|
110
|
+
self[:log] = true
|
111
|
+
end
|
112
|
+
|
110
113
|
opts.separator ""
|
111
114
|
opts.separator "General Options:"
|
112
115
|
opts.separator ""
|
@@ -128,30 +131,35 @@ end
|
|
128
131
|
|
129
132
|
arguments = RORSVNPREP.new
|
130
133
|
|
131
|
-
|
132
|
-
|
133
|
-
# For each project name supplied roll through the preparation cycle
|
134
|
+
# Grab the project name to use
|
134
135
|
project = ARGV.first
|
135
136
|
|
136
|
-
|
137
|
-
|
137
|
+
# Create some useful variables to pass around
|
138
|
+
svnuri = arguments[:svnuri]
|
139
|
+
password = arguments[:password]
|
140
|
+
verbose = arguments[:verbose]
|
141
|
+
logfile = File::new( "rorsvnprep.log", "a" ) if arguments[:log]
|
138
142
|
|
139
|
-
|
140
|
-
|
141
|
-
#rsp = RailsSVNPrep.new( $project, $svnuri, $password, $svnpath, $logfile )
|
142
|
-
#
|
143
|
-
#rsp.execute
|
143
|
+
# Create an instance of our prep class with all our options
|
144
|
+
rsp = RailsSVNPrep.new( project, svnuri, password, logfile, verbose )
|
144
145
|
|
145
|
-
|
146
|
-
|
146
|
+
# TODO: Switch over to following code and remove everything beyond it
|
147
|
+
#
|
148
|
+
#rsp.run
|
147
149
|
|
148
|
-
|
149
|
-
|
150
|
-
else
|
151
|
-
system "rails #{project} >> /dev/null"
|
152
|
-
end
|
150
|
+
# Create a project
|
151
|
+
rsp.create_project
|
153
152
|
|
154
|
-
|
153
|
+
# OLD: Create our new project
|
154
|
+
#puts "Creating Rails project: #{project}" if arguments[:verbose]
|
155
|
+
#
|
156
|
+
#if arguments[:verbose]
|
157
|
+
# system "rails #{project}"
|
158
|
+
#else
|
159
|
+
# system "rails #{project} >> /dev/null"
|
160
|
+
#end
|
161
|
+
#
|
162
|
+
#Dir::chdir project
|
155
163
|
|
156
164
|
# Trim out all the stuff we don't want in the initial subversion import and
|
157
165
|
# move some other stuff around.
|
data/lib/rorsvnprep.rb
CHANGED
@@ -8,73 +8,86 @@
|
|
8
8
|
# utility. This class could also be implemented as part of another package to
|
9
9
|
# provide further automated utilities.
|
10
10
|
class RailsSVNPrep
|
11
|
-
@@version = [ 0, 1,
|
11
|
+
@@version = [ 0, 1, 1 ]
|
12
12
|
|
13
13
|
@project = nil
|
14
14
|
@svn = nil
|
15
15
|
@password = nil
|
16
|
-
@
|
16
|
+
@logfile = nil
|
17
|
+
@verbose = false
|
17
18
|
|
18
19
|
# The new method expects up to four arguments. Only if the projname argument
|
19
20
|
# is missing will the method raise an error for anything other than failed
|
20
21
|
# validation.
|
21
|
-
def initialize(projname = nil, svnuri = nil, svnpass = nil,
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
22
|
+
def initialize(projname = nil, svnuri = nil, svnpass = nil, logfile = nil, verbose = false)
|
23
|
+
@project = projname
|
24
|
+
@svn = svnuri
|
25
|
+
@password = svnpass
|
26
|
+
@log = logfile
|
27
|
+
@verbose = verbose
|
28
|
+
end
|
29
|
+
|
30
|
+
def run
|
31
|
+
puts "Rails SVN Prep: Starting." if @verbose
|
32
|
+
@logfile.puts "Rails SVN Prep: Starting." if @logfile
|
31
33
|
|
32
|
-
|
33
|
-
if RailsSVNPrep::validate_uri(svnuri)
|
34
|
-
@svn = svnuri
|
35
|
-
else
|
36
|
-
raise ArgumentError, "Invalid Subversion URI Supplied", caller
|
37
|
-
end
|
38
|
-
end
|
34
|
+
create_project
|
39
35
|
|
40
|
-
|
41
|
-
if RailsSVNPrep::validate_path(svnpath)
|
42
|
-
@svn += svnpath
|
43
|
-
else
|
44
|
-
raise ArgumentError, "Invalid Subversion Path Supplied", caller
|
45
|
-
end
|
46
|
-
elsif @svn
|
47
|
-
@svn += "/#{@project}/trunk"
|
48
|
-
end
|
36
|
+
trim_project
|
49
37
|
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
38
|
+
generate_cvsignore unless @svn
|
39
|
+
|
40
|
+
subversion_import if @svn
|
41
|
+
|
42
|
+
subversion_checkout if @svn
|
43
|
+
|
44
|
+
subversion_propset if @svn
|
57
45
|
|
58
|
-
|
46
|
+
finalize
|
59
47
|
|
60
|
-
|
48
|
+
puts "Rails SVN Prep: Complete." if @verbose
|
49
|
+
@logfile.puts "Rails SVN Prep: Complete." if @logfile
|
61
50
|
end
|
62
51
|
|
63
52
|
# This method creates a new project and moves us into the new directory. The
|
64
53
|
# method makes direct call to the rails command and dumps the output to
|
65
54
|
# /dev/null.
|
66
55
|
def create_project
|
67
|
-
if Dir::glob(@project)
|
68
|
-
|
69
|
-
|
56
|
+
#if Dir::glob(@project)
|
57
|
+
# puts "A folder named #{@project} already exists: exiting." if @verbose
|
58
|
+
# @logfile.puts "A folder named #{@project} already exists: exiting." if @logfile
|
59
|
+
# raise StandardError
|
60
|
+
#end
|
70
61
|
|
71
|
-
if system "rails #{@project}
|
62
|
+
if system "rails #{@project} >> /dev/null"
|
63
|
+
puts "Rails Project Folder Successfully Created." if @verbose
|
64
|
+
@logfile.puts "Rails Project Folder Successfully Created." if @logfile
|
72
65
|
Dir::chdir @project
|
73
66
|
else
|
74
|
-
|
67
|
+
puts "Error creating the Rails project folder: exiting." if @verbose
|
68
|
+
@logfile.puts "Error creating the Rails project folder: exiting." if @logfile
|
69
|
+
raise StandardError
|
75
70
|
end
|
76
71
|
end
|
77
72
|
|
73
|
+
def trim_project
|
74
|
+
end
|
75
|
+
|
76
|
+
def generate_cvsignore
|
77
|
+
end
|
78
|
+
|
79
|
+
def subversion_import
|
80
|
+
end
|
81
|
+
|
82
|
+
def subversion_checkout
|
83
|
+
end
|
84
|
+
|
85
|
+
def subversion_propset
|
86
|
+
end
|
87
|
+
|
88
|
+
def finalize
|
89
|
+
end
|
90
|
+
|
78
91
|
# A convenience method to return our version number
|
79
92
|
def RailsSVNPrep.version
|
80
93
|
@@version
|
metadata
CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.9.2
|
|
3
3
|
specification_version: 1
|
4
4
|
name: rorsvnprep
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 0.1.
|
7
|
-
date: 2007-02-
|
6
|
+
version: 0.1.1
|
7
|
+
date: 2007-02-20 00:00:00 -05:00
|
8
8
|
summary: Provides additional automation to make managing Rails project with subversion easier.
|
9
9
|
require_paths:
|
10
10
|
- lib
|