rscm 0.1.0.1337 → 0.1.0.1338
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/Rakefile +1 -0
- data/bin/Diff_StdDisclaimer.html +24 -0
- data/bin/diff.exe +0 -0
- data/lib/rscm/attr_attr.rb +36 -0
- data/lib/rscm/cvs/cvs.rb +5 -21
- data/test/rscm/attr_attr_test.rb +32 -0
- data/test/rscm/cvs/cvs_test.rb +10 -0
- metadata +6 -2
data/Rakefile
CHANGED
@@ -0,0 +1,24 @@
|
|
1
|
+
<html>
|
2
|
+
|
3
|
+
<head>
|
4
|
+
<meta name="GENERATOR" content="Microsoft FrontPage 3.0">
|
5
|
+
<title>Disclaimer</title>
|
6
|
+
</head>
|
7
|
+
|
8
|
+
<body bgcolor="#FD8698">
|
9
|
+
|
10
|
+
<h2 align="center">Disclaimer (from <a href="http://unxutils.sourceforge.net/">http://unxutils.sourceforge.net/</a>)</h2>
|
11
|
+
|
12
|
+
<p align="left">THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED
|
13
|
+
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
14
|
+
FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS
|
15
|
+
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
16
|
+
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
17
|
+
OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)<br>
|
18
|
+
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
|
19
|
+
TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
20
|
+
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</p>
|
21
|
+
|
22
|
+
<p><a href="mailto:syring@web.de"><font face="Trebuchet MS">Karl M. Syring</font></a></p>
|
23
|
+
</body>
|
24
|
+
</html>
|
data/bin/diff.exe
ADDED
Binary file
|
@@ -0,0 +1,36 @@
|
|
1
|
+
class Class
|
2
|
+
|
3
|
+
# Defines a description "meta attribute" on the class for the next
|
4
|
+
# attr_reader or attr_accessor. Example:
|
5
|
+
#
|
6
|
+
# TODO: take from test case
|
7
|
+
#
|
8
|
+
def desc(s, suffix=nil)
|
9
|
+
$attr_desc = s
|
10
|
+
end
|
11
|
+
|
12
|
+
alias old_attr_reader attr_reader
|
13
|
+
def attr_reader(*syms) #:nodoc:
|
14
|
+
syms.each do |sym|
|
15
|
+
class_eval <<-EOS
|
16
|
+
@@#{sym.id2name}_desc = $attr_desc
|
17
|
+
|
18
|
+
def self.#{sym.id2name}_desc
|
19
|
+
@@#{sym}_desc
|
20
|
+
end
|
21
|
+
|
22
|
+
def #{sym.id2name}_desc
|
23
|
+
@@#{sym}_desc
|
24
|
+
end
|
25
|
+
EOS
|
26
|
+
end
|
27
|
+
$attr_desc = nil
|
28
|
+
old_attr_reader(*syms)
|
29
|
+
end
|
30
|
+
|
31
|
+
def attr_accessor(*syms) #:nodoc:
|
32
|
+
attr_reader(*syms)
|
33
|
+
attr_writer(*syms)
|
34
|
+
end
|
35
|
+
|
36
|
+
end
|
data/lib/rscm/cvs/cvs.rb
CHANGED
@@ -7,7 +7,7 @@ module RSCM
|
|
7
7
|
|
8
8
|
# RSCM implementation for CVS.
|
9
9
|
#
|
10
|
-
# You need
|
10
|
+
# You need a cvs executable on the PATH in order for it to work.
|
11
11
|
#
|
12
12
|
# NOTE: On Cygwin this has to be the win32 build of cvs and not the Cygwin one.
|
13
13
|
class CVS < AbstractSCM
|
@@ -91,11 +91,7 @@ module RSCM
|
|
91
91
|
|
92
92
|
def changesets(checkout_dir, from_identifier, to_identifier=Time.infinity, files=nil)
|
93
93
|
checkout(checkout_dir) unless uptodate?(checkout_dir, nil) # must checkout to get changesets
|
94
|
-
|
95
|
-
parse_log(checkout_dir, new_changes_command(from_identifier, to_identifier, files))
|
96
|
-
rescue => e
|
97
|
-
parse_log(checkout_dir, old_changes_command(from_identifier, to_identifier, files))
|
98
|
-
end
|
94
|
+
parse_log(checkout_dir, changes_command(from_identifier, to_identifier, files))
|
99
95
|
end
|
100
96
|
|
101
97
|
def diff(checkout_dir, change)
|
@@ -105,7 +101,7 @@ module RSCM
|
|
105
101
|
when /#{Change::DELETED}/; "#{revision_option(change.previous_revision)}"
|
106
102
|
when /#{Change::ADDED}/; "#{revision_option(Time.epoch)} #{revision_option(change.revision)}"
|
107
103
|
end
|
108
|
-
#
|
104
|
+
# IMPORTANT! CVS NT has a bug in the -N diff option
|
109
105
|
# http://www.cvsnt.org/pipermail/cvsnt-bugs/2004-November/000786.html
|
110
106
|
cmd = command_line("diff -Nu #{opts} #{change.path}")
|
111
107
|
safer_popen(cmd, "r", 1) do |io|
|
@@ -239,11 +235,10 @@ module RSCM
|
|
239
235
|
changesets
|
240
236
|
end
|
241
237
|
|
242
|
-
def
|
238
|
+
def changes_command(from_identifier, to_identifier, files)
|
243
239
|
# https://www.cvshome.org/docs/manual/cvs-1.11.17/cvs_16.html#SEC144
|
244
240
|
# -N => Suppress the header if no revisions are selected.
|
245
|
-
# -
|
246
|
-
"log #{branch_option} -N -S #{period_option(from_identifier, to_identifier)}"
|
241
|
+
"log #{branch_option} -N #{period_option(from_identifier, to_identifier)}"
|
247
242
|
end
|
248
243
|
|
249
244
|
def branch_specified?
|
@@ -262,11 +257,6 @@ module RSCM
|
|
262
257
|
"checkout #{branch_option} -d #{target_dir} #{mod} #{revision_option(to_identifier)}"
|
263
258
|
end
|
264
259
|
|
265
|
-
def old_changes_command(from_identifier, to_identifier, files)
|
266
|
-
# Many servers don't support the new -S option
|
267
|
-
"log #{branch_option} -N #{period_option(from_identifier, to_identifier)}"
|
268
|
-
end
|
269
|
-
|
270
260
|
def hidden_password
|
271
261
|
if(password && password != "")
|
272
262
|
"********"
|
@@ -354,10 +344,4 @@ module RSCM
|
|
354
344
|
end
|
355
345
|
end
|
356
346
|
end
|
357
|
-
|
358
|
-
# Convenience factory method used in testing
|
359
|
-
def CVS.local(cvsroot_dir, mod)
|
360
|
-
cvsroot_dir = PathConverter.filepath_to_nativepath(cvsroot_dir, true)
|
361
|
-
CVS.new(":local:#{cvsroot_dir}", mod)
|
362
|
-
end
|
363
347
|
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
require 'rscm/attr_attr'
|
3
|
+
|
4
|
+
module RSCM
|
5
|
+
class Whatever
|
6
|
+
desc "huba luba"
|
7
|
+
attr_accessor :foo
|
8
|
+
|
9
|
+
attr_accessor :ping
|
10
|
+
|
11
|
+
desc "bang bang"
|
12
|
+
attr_accessor :bar, :zap
|
13
|
+
end
|
14
|
+
|
15
|
+
class AttrAttrTest < Test::Unit::TestCase
|
16
|
+
def test_should_allow_attr_attr_description
|
17
|
+
assert_equal("huba luba", Whatever.foo_desc)
|
18
|
+
assert_nil(Whatever.ping_desc)
|
19
|
+
assert_equal("bang bang", Whatever.bar_desc)
|
20
|
+
assert_equal("bang bang", Whatever.zap_desc)
|
21
|
+
end
|
22
|
+
|
23
|
+
def TODOtest_should_allow_attr_value_attr_description
|
24
|
+
whatever = Whatever.new
|
25
|
+
|
26
|
+
assert_equal("huba luba", whatever.foo._desc)
|
27
|
+
assert_nil(whatever.ping._desc)
|
28
|
+
assert_equal("bang bang", whatever.bar._desc)
|
29
|
+
assert_equal("bang bang", whatever.zap._desc)
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
data/test/rscm/cvs/cvs_test.rb
CHANGED
@@ -1,8 +1,18 @@
|
|
1
1
|
require 'test/unit'
|
2
|
+
require 'rscm/path_converter'
|
2
3
|
require 'rscm/cvs/cvs'
|
3
4
|
require 'rscm/generic_scm_tests'
|
4
5
|
|
5
6
|
module RSCM
|
7
|
+
|
8
|
+
class CVS
|
9
|
+
# Convenience factory method used in testing
|
10
|
+
def CVS.local(cvsroot_dir, mod)
|
11
|
+
cvsroot_dir = PathConverter.filepath_to_nativepath(cvsroot_dir, true)
|
12
|
+
CVS.new(":local:#{cvsroot_dir}", mod)
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
6
16
|
class CVSTest < Test::Unit::TestCase
|
7
17
|
|
8
18
|
include GenericSCMTests
|
metadata
CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.8.4
|
|
3
3
|
specification_version: 1
|
4
4
|
name: rscm
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 0.1.0.
|
7
|
-
date: 2005-02-
|
6
|
+
version: 0.1.0.1338
|
7
|
+
date: 2005-02-24
|
8
8
|
summary: "RSCM - Ruby Source Control Management"
|
9
9
|
require_paths:
|
10
10
|
- lib
|
@@ -35,6 +35,7 @@ files:
|
|
35
35
|
- lib/rubyforge_file_publisher.rb
|
36
36
|
- lib/rscm/abstract_log_parser.rb
|
37
37
|
- lib/rscm/abstract_scm.rb
|
38
|
+
- lib/rscm/attr_attr.rb
|
38
39
|
- lib/rscm/changes.rb
|
39
40
|
- lib/rscm/cvs
|
40
41
|
- lib/rscm/darcs
|
@@ -59,10 +60,13 @@ files:
|
|
59
60
|
- lib/rscm/starteam/starteam.rb
|
60
61
|
- lib/rscm/svn/svn.rb
|
61
62
|
- lib/rscm/svn/svn_log_parser.rb
|
63
|
+
- bin/diff.exe
|
64
|
+
- bin/Diff_StdDisclaimer.html
|
62
65
|
- test/actual
|
63
66
|
- test/expected
|
64
67
|
- test/rscm
|
65
68
|
- test/rscm/apply_label_scm_tests.rb
|
69
|
+
- test/rscm/attr_attr_test.rb
|
66
70
|
- test/rscm/changes_fixture.rb
|
67
71
|
- test/rscm/changes_test.rb
|
68
72
|
- test/rscm/changesets.yaml
|