rscm-accurev 0.0 → 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/Rakefile +7 -76
- data/TODO +3 -17
- data/lib/rscm/accurev.rb +1 -13
- data/lib/rscm/scm/accurev/#command.rb# +95 -0
- data/lib/rscm/scm/accurev/api.rb +77 -258
- data/lib/rscm/scm/accurev/command.rb +40 -97
- data/lib/rscm/scm/accurev/filterio.rb +4 -6
- data/lib/rscm/scm/accurev/xml.rb +11 -199
- data/test/t_command.rb +11 -59
- data/test/t_load.rb +0 -1
- data/test/t_scrubio.rb +6 -1
- data/{apitest.rb → test.rb} +0 -1
- data/{test/eg/update-newwksp.xml → testing.log} +138 -0
- metadata +15 -57
- data/STATUS +0 -63
- data/bumprelease.sh +0 -13
- data/lib/rscm/scm/accurev/api.rb.mine +0 -382
- data/lib/rscm/scm/accurev/api.rb.r263 +0 -364
- data/lib/rscm/scm/accurev/api.rb.r265 +0 -393
- data/lib/rscm/scm/accurev/exception.rb +0 -38
- data/lib/test/unit/ui/xml/testrunner.rb +0 -165
- data/lib/test/unit/ui/xml/xmltestrunner.xslt +0 -79
- data/test/coverage/analyzer.rb +0 -127
- data/test/coverage/c_loader.rb +0 -34
- data/test/coverage/cover.rb +0 -91
- data/test/coverage/coverage_loader.rb +0 -21
- data/test/coverage/coveragetask.rb +0 -38
- data/test/coverage/index_tmpl.html +0 -42
- data/test/coverage/template.html +0 -36
- data/test/eg/ac-files.xml +0 -172
- data/test/eg/ac-pop.txt +0 -195
- data/test/eg/files-various-states.xml +0 -188
- data/test/eg/hist-oneweek-all.xml +0 -1483
- data/test/eg/hist-oneweek-external.xml +0 -246
- data/test/eg/hist-oneweek-promotes.xml +0 -1092
- data/test/eg/info.txt +0 -14
- data/test/eg/stat-a-various.xml +0 -1789
- data/test/eg/stat-m.xml +0 -13
- data/test/eg/stat-overlap.xml +0 -13
- data/test/eg/stat-x.xml +0 -20
- data/test/eg/update-i-mods-and-updates-and-overlap.xml +0 -73
- data/test/eg/update-i-nochanges.xml +0 -8
- data/test/eg/update-i-stale.xml +0 -0
- data/test/eg/update-i-updates.xml +0 -125
- data/test/eg/update-nochanges.xml +0 -7
- data/test/eg/update-stale.xml +0 -12
- data/test/eg/update-updates.xml +0 -147
- data/test/t_api.rb +0 -163
- data/test/t_xmlmapper.rb +0 -75
data/lib/rscm/scm/accurev/xml.rb
CHANGED
@@ -1,224 +1,36 @@
|
|
1
1
|
module RSCM; module Accurev; end; end
|
2
2
|
|
3
|
-
require 'rexml/element'
|
4
|
-
|
5
3
|
module RSCM::Accurev
|
6
4
|
|
7
|
-
#
|
8
|
-
# XMLMapper creates an object tree from an XML element and its children.
|
9
|
-
#
|
10
|
-
# For each XML node, it locates a class associated with that node's name,
|
11
|
-
# and builds a new object of that type from the element.
|
12
|
-
#
|
13
|
-
# The nodename-class associations are determined by finding all
|
14
|
-
# classes derived from ElementBackedClass and checking
|
15
|
-
# each of those classes +element_name+ methods.
|
16
|
-
#
|
17
|
-
# See ElementBackedClass for examples.
|
18
|
-
#
|
19
|
-
class XMLMapper
|
20
|
-
|
21
|
-
# Map of element (tag) names to (ruby) class.
|
22
|
-
attr_accessor :classmap
|
23
|
-
|
24
|
-
def initialize()
|
25
|
-
@classmap = {}
|
26
|
-
ObjectSpace.each_object( Class ) do |k|
|
27
|
-
if k.ancestors.delete( ElementBackedClass ) and k != ElementBackedClass
|
28
|
-
if k.respond_to?( :element_name )
|
29
|
-
@classmap[ k.element_name ] = k
|
30
|
-
end
|
31
|
-
end
|
32
|
-
end
|
33
|
-
end
|
34
|
-
|
35
|
-
#
|
36
|
-
# Build an object tree from the given REXML element and its children.
|
37
|
-
# The returned object will be a subclass of +ElementBackedClass+.
|
38
|
-
#
|
39
|
-
def map( e )
|
40
|
-
unless @classmap.has_key?( e.name )
|
41
|
-
return nil
|
42
|
-
end
|
43
|
-
o = @classmap[e.name].new( e )
|
44
|
-
e.children.each do |child|
|
45
|
-
if child.kind_of?( REXML::Element )
|
46
|
-
a = self.map( child )
|
47
|
-
unless a.nil?
|
48
|
-
if o.children[ a.class.element_name ].nil?
|
49
|
-
o.children[ a.class.element_name ] = []
|
50
|
-
end
|
51
|
-
o.children[ a.class.element_name ] << a
|
52
|
-
end
|
53
|
-
end
|
54
|
-
end
|
55
|
-
return o
|
56
|
-
end
|
57
|
-
end
|
58
|
-
|
59
|
-
#
|
60
|
-
# Abstract base class for defining typed mirror classes for XML elements.
|
61
|
-
#
|
62
|
-
# A subclass of ElementBackedClass has:
|
63
|
-
#
|
64
|
-
# * A class static +element_name+ method, identifying what
|
65
|
-
# type of XML element it shadows
|
66
|
-
#
|
67
|
-
# * A set of attributes shadowing the XML attributes of its target element
|
68
|
-
#
|
69
|
-
# * A map (+children+) of child elements, keyed by element name
|
70
|
-
#
|
71
|
-
# * A (optional) +text_content+ attribute, populated when the
|
72
|
-
# target element has text subnodes.
|
73
|
-
#
|
74
|
-
# ---
|
75
|
-
#
|
76
|
-
# === Example
|
77
|
-
#
|
78
|
-
# For the XML element:
|
79
|
-
#
|
80
|
-
# <book title="The Monkey Wrench Gang" author="Edward Albee">
|
81
|
-
# <note>Lots of beer and dynamite</note>
|
82
|
-
# </book>
|
83
|
-
#
|
84
|
-
# You can define:
|
85
|
-
#
|
86
|
-
# class Book < ElementBackedClass
|
87
|
-
# element_name 'book'
|
88
|
-
# attr_accessor :title, :author
|
89
|
-
# end
|
90
|
-
#
|
91
|
-
# And then use XMLMapper to create instances:
|
92
|
-
#
|
93
|
-
# e = ...; # <book> node: REXML::Element
|
94
|
-
# book = XMLMapper.map(e)
|
95
|
-
# puts "Title: #{book.title}"
|
96
|
-
# puts "Author: #{book.author}"
|
97
|
-
# puts "Notes:"
|
98
|
-
# book['note'].each do |n|
|
99
|
-
# puts n.text_content
|
100
|
-
# end
|
101
|
-
#
|
102
5
|
class ElementBackedClass
|
103
|
-
|
104
|
-
attr_accessor :children
|
105
|
-
|
106
6
|
def self.element_name( name )
|
107
|
-
|
108
|
-
self
|
109
|
-
end.send( :define_method, "element_name" ) {name}
|
110
|
-
end
|
111
|
-
|
112
|
-
# currently advisory only
|
113
|
-
def self.children( *kidtypes )
|
114
|
-
# nothing XXX
|
7
|
+
@@name = name # this doesn't do what i think it does
|
115
8
|
end
|
116
|
-
|
117
9
|
def initialize( element=nil )
|
118
|
-
@children = {}
|
119
10
|
unless element.nil?
|
120
11
|
self.set_from_element(element)
|
121
12
|
end
|
122
13
|
end
|
123
|
-
|
124
|
-
# ebc['foo'] is a synonym for ebc.children['foo']
|
125
|
-
def []( key )
|
126
|
-
return self.children[key]
|
127
|
-
end
|
128
|
-
|
129
|
-
def to_s
|
130
|
-
s = "<#{self.class.element_name} "
|
131
|
-
self.instance_variables.each do |a|
|
132
|
-
unless a == "@children"
|
133
|
-
attr = a.sub( /^@/, "" )
|
134
|
-
s += "#{attr}='#{self.send(attr)}' "
|
135
|
-
end
|
136
|
-
end
|
137
|
-
s += "/>"
|
138
|
-
return s
|
139
|
-
end
|
140
|
-
|
141
|
-
protected
|
142
|
-
# Does the work of calling object setters for each XML attribute.
|
143
14
|
def set_from_element( e )
|
144
15
|
e.attributes.each do |attr, value|
|
145
|
-
|
146
|
-
|
147
|
-
mattr = attr.downcase
|
148
|
-
if self.respond_to?( "#{mattr}=" )
|
149
|
-
self.send( "#{mattr}=", value )
|
150
|
-
end
|
151
|
-
end
|
152
|
-
if self.respond_to?( :text_content= ) and ! e.text.nil?
|
153
|
-
self.text_content = e.text
|
154
|
-
end
|
155
|
-
end
|
156
|
-
|
157
|
-
end
|
158
|
-
|
159
|
-
#
|
160
|
-
# Data from the typical AcResponse root node.
|
161
|
-
#
|
162
|
-
class AcResponseData < ElementBackedClass
|
163
|
-
element_name 'AcResponse'
|
164
|
-
attr_accessor :command, :directory
|
165
|
-
|
166
|
-
# Returns this response's error message, or nil if no error detected.
|
167
|
-
def error
|
168
|
-
if self.children['message']
|
169
|
-
zmsg = self.children['message'][0]
|
170
|
-
if zmsg.error and zmsg.error == 'true'
|
171
|
-
return zmsg.text_content
|
16
|
+
if self.respond_to?( "#{attr}=" )
|
17
|
+
self.send( "#{attr}=", value )
|
172
18
|
end
|
173
|
-
else
|
174
|
-
return nil
|
175
19
|
end
|
176
20
|
end
|
177
21
|
end
|
178
22
|
|
179
|
-
#
|
180
|
-
|
181
|
-
# Identifies workspace objects (files, directories, etc).
|
182
|
-
#
|
183
|
-
class ElementData < ElementBackedClass
|
23
|
+
# Data from "accurev file" command:
|
24
|
+
class FileStatus < ElementBackedClass
|
184
25
|
element_name 'element'
|
185
26
|
attr_accessor :location, :status, :dir, :id
|
186
|
-
attr_accessor :elemType, :namedVersion, :
|
187
|
-
end
|
188
|
-
|
189
|
-
#
|
190
|
-
# Data from "accurev {file,update,stat}" commands.
|
191
|
-
# Streamed status/info messages, usually interleaved with ElementData
|
192
|
-
# nodes.
|
193
|
-
#
|
194
|
-
class MessageData < ElementBackedClass
|
195
|
-
element_name 'message'
|
196
|
-
attr_accessor :error, :text_content
|
197
|
-
end
|
198
|
-
|
199
|
-
#
|
200
|
-
# Version (element) records in a history transaction
|
201
|
-
#
|
202
|
-
class VersionData < ElementBackedClass
|
203
|
-
element_name 'version'
|
204
|
-
attr_accessor :path, :eid, :virtual, :real, :elem_type
|
205
|
-
end
|
206
|
-
|
207
|
-
#
|
208
|
-
# Commit messages on transactions
|
209
|
-
#
|
210
|
-
class CommentData < ElementBackedClass
|
211
|
-
element_name 'comment'
|
27
|
+
attr_accessor :elemType, :namedVersion, :Virtual, :Real
|
212
28
|
end
|
213
29
|
|
214
|
-
#
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
class TransactionData < ElementBackedClass
|
219
|
-
element_name 'transaction'
|
220
|
-
children VersionData, CommentData
|
221
|
-
attr_accessor :id, :type, :time, :user
|
30
|
+
# Data from "accurev update" command:
|
31
|
+
class UpdateData < ElementBackedClass
|
32
|
+
element_name 'element'
|
33
|
+
attr_accessor :location
|
222
34
|
end
|
223
|
-
|
35
|
+
|
224
36
|
end
|
data/test/t_command.rb
CHANGED
@@ -1,6 +1,5 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
require 'test/unit'
|
3
|
-
require 'rubygems'
|
4
3
|
require 'rscm/accurev'
|
5
4
|
|
6
5
|
include RSCM::Accurev
|
@@ -8,78 +7,31 @@ include RSCM::Accurev
|
|
8
7
|
class CommandTest < Test::Unit::TestCase
|
9
8
|
|
10
9
|
def test_command_line_subs
|
11
|
-
Command.discard
|
12
10
|
cmd = Command.instance
|
13
11
|
|
14
12
|
s = cmd.accurev_cmdline( "foo", "bar" )
|
15
13
|
assert_equal( "accurev foo bar", s )
|
16
14
|
|
17
|
-
cmd.
|
15
|
+
cmd.accurev = "xyzzy"
|
18
16
|
|
19
17
|
s = cmd.accurev_cmdline( "foo", "bar" )
|
20
18
|
assert_equal( "xyzzy foo bar", s )
|
21
|
-
|
22
|
-
Command.discard
|
19
|
+
|
23
20
|
end
|
24
21
|
|
25
22
|
def test_a_e
|
23
|
+
puts "XXX test skipped XXX"
|
24
|
+
return ## XXX
|
26
25
|
cmd = Command.instance
|
27
|
-
|
26
|
+
cmd.working_dir = "." # xxx
|
28
27
|
cmd.debug = true
|
29
|
-
cmd.debug_to = File.open( "
|
30
|
-
cmd.
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
assert( acresponse.kind_of?( AcResponseData ) )
|
36
|
-
assert( acresponse['element'].size == 44 )
|
37
|
-
assert( acresponse['message'].size == 44 )
|
38
|
-
acresponse['element'].each do |e|
|
39
|
-
assert( e.kind_of?( ElementData ) )
|
40
|
-
end
|
41
|
-
end
|
42
|
-
Command.discard
|
43
|
-
end
|
44
|
-
|
45
|
-
def test_threadlocal_private_new
|
46
|
-
begin
|
47
|
-
cmd = Command.new
|
48
|
-
flunk( "Command.new() should be private" )
|
49
|
-
rescue
|
50
|
-
assert( true )
|
28
|
+
cmd.debug_to = File.open( "testing.log", "w" )
|
29
|
+
cmd.accurev = "./test/acreplay.rb eg/update-newwksp.xml"
|
30
|
+
list = cmd.accurev_elements( RSCM::Accurev::FileStatus, "files" )
|
31
|
+
assert( list.size > 0 )
|
32
|
+
list.each do |fd|
|
33
|
+
assert( fd.respond_to?( location ) )
|
51
34
|
end
|
52
35
|
end
|
53
36
|
|
54
|
-
def test_threadlocal
|
55
|
-
# instance returns this thread's Command object
|
56
|
-
begin
|
57
|
-
cmd = Command.instance
|
58
|
-
cmd.accurev_bin = "/bin/bash"
|
59
|
-
assert_equal( cmd.accurev_bin, "/bin/bash" )
|
60
|
-
end
|
61
|
-
# and calling it again returns the same object
|
62
|
-
begin
|
63
|
-
cmd = Command.instance
|
64
|
-
assert_equal( cmd.accurev_bin, "/bin/bash" )
|
65
|
-
end
|
66
|
-
# but instance in another thread should be different
|
67
|
-
Thread.new do
|
68
|
-
cmd = Command.instance
|
69
|
-
assert_not_equal( cmd.accurev_bin, "/bin/bash" )
|
70
|
-
end.join()
|
71
|
-
# ...and calling it *again* returns the same object
|
72
|
-
begin
|
73
|
-
cmd = Command.instance
|
74
|
-
assert_equal( cmd.accurev_bin, "/bin/bash" )
|
75
|
-
end
|
76
|
-
# but discard tosses this thread's object:
|
77
|
-
Command.discard
|
78
|
-
begin
|
79
|
-
cmd = Command.instance
|
80
|
-
assert_not_equal( cmd.accurev_bin, "/bin/bash" )
|
81
|
-
end
|
82
|
-
|
83
|
-
end
|
84
|
-
|
85
37
|
end
|
data/test/t_load.rb
CHANGED
data/test/t_scrubio.rb
CHANGED
@@ -1,5 +1,4 @@
|
|
1
1
|
require 'rexml/document'
|
2
|
-
require 'rubygems'
|
3
2
|
require 'rscm/accurev'
|
4
3
|
require 'test/unit'
|
5
4
|
|
@@ -100,6 +99,12 @@ end
|
|
100
99
|
|
101
100
|
class BrokenGarbleTest3 < Test::Unit::TestCase
|
102
101
|
include TestBase
|
102
|
+
|
103
|
+
def test_parse
|
104
|
+
# commented out for build only
|
105
|
+
puts "XXX test skipped XXX"
|
106
|
+
end
|
107
|
+
|
103
108
|
def broken; true; end
|
104
109
|
def fixable; true; end
|
105
110
|
def input
|
data/{apitest.rb → test.rb}
RENAMED
@@ -9,7 +9,6 @@ require 'rscm/scm/accurev'
|
|
9
9
|
#files; puts "#{f.location}\t\t#{f.status}"
|
10
10
|
#files; end
|
11
11
|
|
12
|
-
# yes, i cannot spell, the dir is "hirdcar":
|
13
12
|
ac = RSCM::Accurev.new( '/home/gfast/dev/orbitz-api-hirdcar-0-rc' )
|
14
13
|
ac.backing_stream = "orbitz-api-hiredcar-0-rc"
|
15
14
|
ac.workspace_stream = "orbitz-api-hiredcar-0-rc-testing_gfast"
|
@@ -1,3 +1,5 @@
|
|
1
|
+
ac> ./test/acreplay.rb eg/update-newwksp.xml files -fx
|
2
|
+
raw>
|
1
3
|
<?xml version="1.0"?>
|
2
4
|
<!-- ac update -fx on a newly created workspace (eg, no files yet) -->
|
3
5
|
<acResponse
|
@@ -181,3 +183,139 @@
|
|
181
183
|
</acResponse>
|
182
184
|
|
183
185
|
|
186
|
+
<?xml version='1.0'?><!-- ac update -fx on a newly created workspace (eg, no files yet) --><AcResponse command='update'>
|
187
|
+
<message>Updating element /./ChangeLog
|
188
|
+
</message>
|
189
|
+
<element location='/ChangeLog'/>
|
190
|
+
<message>Updating (creating) dir /./build
|
191
|
+
</message>
|
192
|
+
<element location='/build'/>
|
193
|
+
<message>Updating (creating) dir /./build/filesets
|
194
|
+
</message>
|
195
|
+
<element location='/build/filesets'/>
|
196
|
+
<message>Updating element /./build/filesets/orbitz-api-robot.exclude
|
197
|
+
</message>
|
198
|
+
<element location='/build/filesets/orbitz-api-robot.exclude'/>
|
199
|
+
<message>Updating element /./build/filesets/orbitz-api-robot.include
|
200
|
+
</message>
|
201
|
+
<element location='/build/filesets/orbitz-api-robot.include'/>
|
202
|
+
<message>Updating element /./build/filesets/orbitz-api-robot.metainf
|
203
|
+
</message>
|
204
|
+
<element location='/build/filesets/orbitz-api-robot.metainf'/>
|
205
|
+
<message>Updating element /./build/filesets/orbitz-api-robot.src
|
206
|
+
</message>
|
207
|
+
<element location='/build/filesets/orbitz-api-robot.src'/>
|
208
|
+
<message>Updating element /./build.properties
|
209
|
+
</message>
|
210
|
+
<element location='/build.properties'/>
|
211
|
+
<message>Updating element /./build.sh
|
212
|
+
</message>
|
213
|
+
<element location='/build.sh'/>
|
214
|
+
<message>Updating element /./build.xml
|
215
|
+
</message>
|
216
|
+
<element location='/build.xml'/>
|
217
|
+
<message>Updating (creating) dir /./src
|
218
|
+
</message>
|
219
|
+
<element location='/src'/>
|
220
|
+
<message>Updating (creating) dir /./src/java
|
221
|
+
</message>
|
222
|
+
<element location='/src/java'/>
|
223
|
+
<message>Updating (creating) dir /./src/java/com
|
224
|
+
</message>
|
225
|
+
<element location='/src/java/com'/>
|
226
|
+
<message>Updating (creating) dir /./src/java/com/orbitz
|
227
|
+
</message>
|
228
|
+
<element location='/src/java/com/orbitz'/>
|
229
|
+
<message>Updating (creating) dir /./src/java/com/orbitz/dc
|
230
|
+
</message>
|
231
|
+
<element location='/src/java/com/orbitz/dc'/>
|
232
|
+
<message>Updating (creating) dir /./src/java/com/orbitz/dc/client
|
233
|
+
</message>
|
234
|
+
<element location='/src/java/com/orbitz/dc/client'/>
|
235
|
+
<message>Updating (creating) dir /./src/java/com/orbitz/dc/client/robot
|
236
|
+
</message>
|
237
|
+
<element location='/src/java/com/orbitz/dc/client/robot'/>
|
238
|
+
<message>Updating element /./src/java/com/orbitz/dc/client/robot/RobotFactory.java
|
239
|
+
</message>
|
240
|
+
<element location='/src/java/com/orbitz/dc/client/robot/RobotFactory.java'/>
|
241
|
+
<message>Updating element /./src/java/com/orbitz/dc/client/robot/RobotImpl.java
|
242
|
+
</message>
|
243
|
+
<element location='/src/java/com/orbitz/dc/client/robot/RobotImpl.java'/>
|
244
|
+
<message>Updating (creating) dir /./src/java/com/orbitz/dc/core
|
245
|
+
</message>
|
246
|
+
<element location='/src/java/com/orbitz/dc/core'/>
|
247
|
+
<message>Updating element /./src/java/com/orbitz/dc/core/ROBOT_STATE.java
|
248
|
+
</message>
|
249
|
+
<element location='/src/java/com/orbitz/dc/core/ROBOT_STATE.java'/>
|
250
|
+
<message>Updating element /./src/java/com/orbitz/dc/core/THROTTLE_TYPE.java
|
251
|
+
</message>
|
252
|
+
<element location='/src/java/com/orbitz/dc/core/THROTTLE_TYPE.java'/>
|
253
|
+
<message>Updating (creating) dir /./src/java/com/orbitz/dc/service
|
254
|
+
</message>
|
255
|
+
<element location='/src/java/com/orbitz/dc/service'/>
|
256
|
+
<message>Updating (creating) dir /./src/java/com/orbitz/dc/service/robot
|
257
|
+
</message>
|
258
|
+
<element location='/src/java/com/orbitz/dc/service/robot'/>
|
259
|
+
<message>Updating element /./src/java/com/orbitz/dc/service/robot/Robot.java
|
260
|
+
</message>
|
261
|
+
<element location='/src/java/com/orbitz/dc/service/robot/Robot.java'/>
|
262
|
+
<message>Updating element /./src/java/com/orbitz/dc/service/robot/RobotAdminProperties.java
|
263
|
+
</message>
|
264
|
+
<element location='/src/java/com/orbitz/dc/service/robot/RobotAdminProperties.java'/>
|
265
|
+
<message>Updating element /./src/java/com/orbitz/dc/service/robot/RobotInfo.java
|
266
|
+
</message>
|
267
|
+
<element location='/src/java/com/orbitz/dc/service/robot/RobotInfo.java'/>
|
268
|
+
<message>Updating element /./src/java/com/orbitz/dc/service/robot/RobotProperties.java
|
269
|
+
</message>
|
270
|
+
<element location='/src/java/com/orbitz/dc/service/robot/RobotProperties.java'/>
|
271
|
+
<message>Updating element /./src/java/com/orbitz/dc/service/robot/RobotStatus.java
|
272
|
+
</message>
|
273
|
+
<element location='/src/java/com/orbitz/dc/service/robot/RobotStatus.java'/>
|
274
|
+
<message>Updating element /./src/java/com/orbitz/dc/service/robot/RobotUsageHistoryEntry.java
|
275
|
+
</message>
|
276
|
+
<element location='/src/java/com/orbitz/dc/service/robot/RobotUsageHistoryEntry.java'/>
|
277
|
+
<message>Updating (creating) dir /./src/java/com/orbitz/dc/service/robot/remote
|
278
|
+
</message>
|
279
|
+
<element location='/src/java/com/orbitz/dc/service/robot/remote'/>
|
280
|
+
<message>Updating element /./src/java/com/orbitz/dc/service/robot/remote/RobotServiceRemote.java
|
281
|
+
</message>
|
282
|
+
<element location='/src/java/com/orbitz/dc/service/robot/remote/RobotServiceRemote.java'/>
|
283
|
+
<message>Updating (creating) dir /./src/java/com/orbitz/dc/service/util
|
284
|
+
</message>
|
285
|
+
<element location='/src/java/com/orbitz/dc/service/util'/>
|
286
|
+
<message>Updating element /./src/java/com/orbitz/dc/service/util/ThrottleProperties.java
|
287
|
+
</message>
|
288
|
+
<element location='/src/java/com/orbitz/dc/service/util/ThrottleProperties.java'/>
|
289
|
+
<message>Updating (creating) dir /./src/java/com/orbitz/dc/system
|
290
|
+
</message>
|
291
|
+
<element location='/src/java/com/orbitz/dc/system'/>
|
292
|
+
<message>Updating (creating) dir /./src/java/com/orbitz/dc/system/core
|
293
|
+
</message>
|
294
|
+
<element location='/src/java/com/orbitz/dc/system/core'/>
|
295
|
+
<message>Updating element /./src/java/com/orbitz/dc/system/core/ROBOT_TYPE.java
|
296
|
+
</message>
|
297
|
+
<element location='/src/java/com/orbitz/dc/system/core/ROBOT_TYPE.java'/>
|
298
|
+
<message>Updating (creating) dir /./test
|
299
|
+
</message>
|
300
|
+
<element location='/test'/>
|
301
|
+
<message>Updating (creating) dir /./test/src
|
302
|
+
</message>
|
303
|
+
<element location='/test/src'/>
|
304
|
+
<message>Updating (creating) dir /./test/src/java
|
305
|
+
</message>
|
306
|
+
<element location='/test/src/java'/>
|
307
|
+
<message>Updating (creating) dir /./test/src/java/com
|
308
|
+
</message>
|
309
|
+
<element location='/test/src/java/com'/>
|
310
|
+
<message>Updating (creating) dir /./test/src/java/com/orbitz
|
311
|
+
</message>
|
312
|
+
<element location='/test/src/java/com/orbitz'/>
|
313
|
+
<message>Updating element /./test/src/java/com/orbitz/package.html
|
314
|
+
</message>
|
315
|
+
<element location='/test/src/java/com/orbitz/package.html'/>
|
316
|
+
<message>Updating element /./version.properties
|
317
|
+
</message>
|
318
|
+
<element location='/version.properties'/>
|
319
|
+
</AcResponse>
|
320
|
+
|
321
|
+
|
metadata
CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.8.11
|
|
3
3
|
specification_version: 1
|
4
4
|
name: rscm-accurev
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version:
|
7
|
-
date: 2005-
|
6
|
+
version: 0.0.1
|
7
|
+
date: 2005-08-10 00:00:00 -05:00
|
8
8
|
summary: "RSCM::Accurev - RSCM API for Accurev"
|
9
9
|
require_paths:
|
10
10
|
- lib
|
@@ -29,72 +29,30 @@ cert_chain:
|
|
29
29
|
authors:
|
30
30
|
- Greg Fast
|
31
31
|
files:
|
32
|
-
-
|
32
|
+
- eg
|
33
33
|
- lib
|
34
|
-
- apitest.rb
|
35
|
-
- STATUS
|
36
|
-
- test
|
37
34
|
- LICENSE
|
38
|
-
- eg
|
39
|
-
- TODO
|
40
|
-
- doc
|
41
35
|
- Rakefile
|
42
|
-
- pkg
|
43
36
|
- README
|
44
|
-
-
|
37
|
+
- test
|
38
|
+
- test.rb
|
39
|
+
- testing.log
|
40
|
+
- tmp
|
41
|
+
- TODO
|
45
42
|
- lib/rscm
|
46
|
-
- lib/test
|
47
|
-
- lib/rscm/scm
|
48
43
|
- lib/rscm/accurev.rb
|
44
|
+
- lib/rscm/scm
|
49
45
|
- lib/rscm/scm/accurev
|
50
|
-
- lib/rscm/scm/accurev
|
51
|
-
- lib/rscm/scm/accurev/xml.rb
|
46
|
+
- "lib/rscm/scm/accurev/#command.rb#"
|
52
47
|
- lib/rscm/scm/accurev/api.rb
|
48
|
+
- lib/rscm/scm/accurev/command.rb
|
53
49
|
- lib/rscm/scm/accurev/filterio.rb
|
54
|
-
- lib/rscm/scm/accurev/
|
55
|
-
- lib/rscm/scm/accurev/api.rb.r263
|
56
|
-
- lib/rscm/scm/accurev/api.rb.r265
|
57
|
-
- lib/rscm/scm/accurev/api.rb.mine
|
58
|
-
- lib/test/unit
|
59
|
-
- lib/test/unit/ui
|
60
|
-
- lib/test/unit/ui/xml
|
61
|
-
- lib/test/unit/ui/xml/xmltestrunner.xslt
|
62
|
-
- lib/test/unit/ui/xml/testrunner.rb
|
63
|
-
- test/t_scrubio.rb
|
64
|
-
- test/t_load.rb
|
65
|
-
- test/eg
|
66
|
-
- test/t_filterio.rb
|
67
|
-
- test/t_xmlmapper.rb
|
50
|
+
- lib/rscm/scm/accurev/xml.rb
|
68
51
|
- test/acreplay.rb
|
69
52
|
- test/t_command.rb
|
70
|
-
- test/
|
71
|
-
- test/
|
72
|
-
- test/
|
73
|
-
- test/eg/ac-files.xml
|
74
|
-
- test/eg/update-i-nochanges.xml
|
75
|
-
- test/eg/update-newwksp.xml
|
76
|
-
- test/eg/update-nochanges.xml
|
77
|
-
- test/eg/update-i-updates.xml
|
78
|
-
- test/eg/update-updates.xml
|
79
|
-
- test/eg/info.txt
|
80
|
-
- test/eg/files-various-states.xml
|
81
|
-
- test/eg/stat-x.xml
|
82
|
-
- test/eg/stat-m.xml
|
83
|
-
- test/eg/stat-a-various.xml
|
84
|
-
- test/eg/update-i-stale.xml
|
85
|
-
- test/eg/ac-pop.txt
|
86
|
-
- test/eg/update-i-mods-and-updates-and-overlap.xml
|
87
|
-
- test/eg/stat-overlap.xml
|
88
|
-
- test/eg/hist-oneweek-all.xml
|
89
|
-
- test/eg/hist-oneweek-promotes.xml
|
90
|
-
- test/eg/hist-oneweek-external.xml
|
91
|
-
- test/coverage/analyzer.rb
|
92
|
-
- test/coverage/cover.rb
|
93
|
-
- test/coverage/coverage_loader.rb
|
94
|
-
- test/coverage/coveragetask.rb
|
95
|
-
- test/coverage/index_tmpl.html
|
96
|
-
- test/coverage/c_loader.rb
|
97
|
-
- test/coverage/template.html
|
53
|
+
- test/t_filterio.rb
|
54
|
+
- test/t_load.rb
|
55
|
+
- test/t_scrubio.rb
|
98
56
|
test_files: []
|
99
57
|
rdoc_options:
|
100
58
|
- "--line-numbers"
|
data/STATUS
DELETED
@@ -1,63 +0,0 @@
|
|
1
|
-
|
2
|
-
= RSCM::Accurev Status
|
3
|
-
|
4
|
-
------------------------
|
5
|
-
|
6
|
-
== Core RSCM API (RSCM::Accurev::API)
|
7
|
-
|
8
|
-
[checkout()] supported
|
9
|
-
|
10
|
-
- basic checkouts should work
|
11
|
-
|
12
|
-
- time-based checkouts do not work
|
13
|
-
|
14
|
-
[update()] basic updates work
|
15
|
-
|
16
|
-
- time-based updates ("update( yesterday )") not working
|
17
|
-
|
18
|
-
- elements list returned currently includes directories and removed files
|
19
|
-
|
20
|
-
[add()] unsupported, todo(?)
|
21
|
-
|
22
|
-
[edit()] supported (no-op)
|
23
|
-
|
24
|
-
[revisions()] supported
|
25
|
-
|
26
|
-
- time-based limits do not work
|
27
|
-
|
28
|
-
- should be history-based
|
29
|
-
|
30
|
-
-------------------------------------------
|
31
|
-
|
32
|
-
== Accurev-specific API (RSCM::Accurev::API)
|
33
|
-
|
34
|
-
[ac_update()] unsupported, todo
|
35
|
-
|
36
|
-
[ac_files()] supported
|
37
|
-
|
38
|
-
[ac_info()] supported
|
39
|
-
|
40
|
-
[ac_stat()] unsupported, use ac_files().
|
41
|
-
|
42
|
-
[ac_move()] unsupported, todo
|
43
|
-
|
44
|
-
[ac_pop()] unsupported, todo
|
45
|
-
|
46
|
-
[ac_purge()] unsupported, todo
|
47
|
-
|
48
|
-
[ac_hist()] unsupported, todo
|
49
|
-
|
50
|
-
[ac_keep()] unsupported, todo
|
51
|
-
|
52
|
-
[ac_promote()] unsupported, todo
|
53
|
-
|
54
|
-
-------------------------------------------
|
55
|
-
|
56
|
-
== Other Items
|
57
|
-
|
58
|
-
[code docs] woefully incomplete
|
59
|
-
|
60
|
-
[usage docs] virtually nonexistant
|
61
|
-
|
62
|
-
[test coverage] truly pitiful
|
63
|
-
|
data/bumprelease.sh
DELETED
@@ -1,13 +0,0 @@
|
|
1
|
-
#!/bin/sh
|
2
|
-
|
3
|
-
# gee, i bet you could stick this in the rakefile...
|
4
|
-
|
5
|
-
LAST=`cat .version.minor`
|
6
|
-
MINOR=$(( $LAST + 1 ))
|
7
|
-
|
8
|
-
perl -i~~ -pe "s/VERSION = '0.0.\d+'/VERSION = '0.0.$MINOR'/" \
|
9
|
-
lib/rscm/accurev.rb
|
10
|
-
|
11
|
-
PKG_BUILD=$MINOR rake package gem && \
|
12
|
-
echo $MINOR > .version.minor
|
13
|
-
|