rscm 0.4.3 → 0.4.4
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/CHANGES +15 -0
- data/README +91 -81
- data/Rakefile +5 -1
- data/lib/rscm/base.rb +20 -27
- data/lib/rscm/command_line.rb +2 -2
- data/lib/rscm/difftool.rb +19 -8
- data/lib/rscm/revision.rb +14 -1
- data/lib/rscm/revision_file.rb +10 -0
- data/lib/rscm/scm/cvs.rb +3 -3
- data/lib/rscm/scm/mooky.rb +0 -6
- data/lib/rscm/scm/perforce.rb +112 -451
- data/lib/rscm/tempdir.rb +5 -0
- data/lib/rscm/version.rb +1 -1
- data/test/rscm/compatibility/config.yml +4 -0
- data/test/rscm/compatibility/cvs_metaproject/files_0.yml +13 -0
- data/test/rscm/compatibility/cvs_metaproject/revisions.yml +129 -0
- data/test/rscm/compatibility/cvs_metaproject/scm.yml +3 -0
- data/test/rscm/compatibility/damage_control_minimal.rb +104 -0
- data/test/rscm/{generic_scm_tests.rb → compatibility/full.rb} +8 -15
- data/test/rscm/compatibility/subversion_rscm/files_0.yml +35 -0
- data/test/rscm/compatibility/subversion_rscm/revisions.yml +69 -0
- data/test/rscm/compatibility/subversion_rscm/scm.yml +2 -0
- data/test/rscm/compatibility/subversion_rscm/svn_log_bug_irc.txt +87 -0
- data/test/rscm/scm/cvs_log_parser_test.rb +1 -0
- data/test/rscm/scm/cvs_test.rb +9 -15
- data/test/rscm/scm/mooky_test.rb +2 -9
- data/test/rscm/scm/perforce_test.rb +2 -31
- data/test/rscm/scm/subversion_test.rb +3 -6
- data/test/rscm/test_helper.rb +9 -0
- metadata +16 -4
- data/lib/rscm/scm/subversion_log_parser.rb.rej +0 -39
@@ -0,0 +1,87 @@
|
|
1
|
+
[13:18] bluebum: hmmm...i'm sorry, then i have fsfs , since I just chose the default format and I had 1.2.3
|
2
|
+
[13:18] Tlaloc: Unless you'd read up extensivley on both bdb and fsfs and you know you need bdb for some reason I'd stick with fsfs
|
3
|
+
[13:18] aslak: hi there - i am about to post a bug report for svn log, and want to verify it here first
|
4
|
+
[13:18] Tlaloc: If you have fsfs you can just tar up or rsync the repo from one box to the other
|
5
|
+
[13:19] bluebum: Tlaloc ; really? that easy ?
|
6
|
+
[13:19] Tlaloc: But ou might still want to dump load when going to 1.3.0
|
7
|
+
[13:19] Stric: bluebum: just do a dump&load, then everything will be fine.. no matter what you have right now.
|
8
|
+
[13:19] aslak: if i do: svn log http://buildpatterns.com/svn/repos/rscm/trunk/test/ --revision 156:{"2006-03-03 18:24:08"}
|
9
|
+
[13:19] bluebum: oh ok
|
10
|
+
[13:19] Tlaloc: since 1.3.0 uses xdelta instead of ydelta for diffs
|
11
|
+
[13:19] bluebum: i see
|
12
|
+
[13:19] aslak: - i get a log of 2 revisions
|
13
|
+
[13:19] Tlaloc: so you'll get slightly better performance for blame and some other commands
|
14
|
+
[13:19] bluebum: thanks Tlaloc and Stric
|
15
|
+
[13:20] aslak: if i now execute: svn log http://buildpatterns.com/svn/repos/rscm/trunk/test/ --revision {"2006-03-03 11:55:55"}:{"2006-03-03 18:24:08"}
|
16
|
+
[13:20] aslak: i get log entries that are outside the lower bounds
|
17
|
+
[13:21] aslak: can anyone explain why i get log entries outside the bounds? is this a bug?
|
18
|
+
[13:22] aslak: (i'm on svn 1.2.3)
|
19
|
+
[13:23] darix: Tlaloc: vdelta. not ydelta
|
20
|
+
[13:23] Tlaloc: darix: right
|
21
|
+
[13:23] kfogel: aslak: are the dates on your revisions only ascending, or are there "reset" (say, due to cvs2svn dumpfiles being important or something)?
|
22
|
+
[13:24] Tlaloc: <letter other than x>delta
|
23
|
+
[13:24] kfogel: s/reset/resets/
|
24
|
+
[13:24] aslak: kfogel: this is a clean repo (on textdrive) - no cvs2svn.
|
25
|
+
[13:25] kfogel: oh, I thought it might be http://subversion.tigris.org/issues/show_bug.cgi?id=752
|
26
|
+
[13:25] kfogel: I have no idea what the problem is, then.
|
27
|
+
[13:25] urkle__ left the chat room. (Read error: 104 (Connection reset by peer))
|
28
|
+
[13:25] kfogel: (the drive the repos is on doesn't matter, the only thing that matters is the svn:date properties on the revisions. If they are not only increasing, then you hit issue #752)
|
29
|
+
[13:26] Tlaloc: kfogel: wasn't there an issue with fsfs sometimes getting the commits out of order since it uses the date at the start of the commit>
|
30
|
+
[13:26] kfogel: Tlaloc: oh! There could be, I didn't know about that.
|
31
|
+
[13:26] aslak: kfogel: do you have svn 1.3.0 or head? do you get 2 log entries with svn log http://buildpatterns.com/svn/repos/rscm/trunk/test/ --revision {"2006-03-03 11:55:55"}:{"2006-03-03 18:24:08"}
|
32
|
+
[13:26] zirpu left the chat room.
|
33
|
+
[13:26] Guard][an joined the chat room.
|
34
|
+
[13:27] Guard][an: re
|
35
|
+
[13:27] kfogel: aslak: I get r156 and r157, with near-HEAD of trunk.
|
36
|
+
[13:27] kfogel: aslak: but the client is irrelevant
|
37
|
+
[13:27] kfogel: only the server-side matters here
|
38
|
+
[13:27] aslak: ok. but r156 is *before* 2006-03-03 11:55:55 (by 1 sec)
|
39
|
+
[13:27] Guard][an: what will happen with the subversion win32 installer ??? if apache 2.0.x requires APR 0.9.7 but apache 2.2 requires APR 1.2 ?
|
40
|
+
[13:27] aslak: so is it safe to file a bugreport?
|
41
|
+
[13:29] kfogel: aslak: what's your server version?
|
42
|
+
[13:29] aslak: svn, version 1.2.1 (r15230)
|
43
|
+
[13:29] aslak: compiled Aug 26 2005, 18:44:55
|
44
|
+
[13:29] kfogel: aslak: phone call
|
45
|
+
[13:29] aslak: kfogel: i'll wait
|
46
|
+
[13:29] kfogel: afk
|
47
|
+
[13:30] josip joined the chat room.
|
48
|
+
[13:30] josip: hello, can anyone point me to a good linux svn cleint ? I need a simple one so even newbs could use it.
|
49
|
+
[13:31] nightswim: svn
|
50
|
+
[13:31] josip: AFAIK nautilus doesn't support ;(
|
51
|
+
[13:31] josip: not command line, gui
|
52
|
+
[13:31] jcscoobyrs: josip: RapidSVN I think is linux with gui client.
|
53
|
+
[13:32] jcscoobyrs: http://rapidsvn.tigris.org/
|
54
|
+
[13:32] frederico left the chat room. (Read error: 104 (Connection reset by peer))
|
55
|
+
[13:32] josip: it's not bad
|
56
|
+
[13:35] kfogel: aslak: It'd be better to reproduce anything with head of trunk before filing a bug. But, first, is this a client-time vs server-time thing?
|
57
|
+
[13:35] kfogel: hmmm
|
58
|
+
[13:35] kfogel: no, I added "-0600" to the time strings, same result
|
59
|
+
[13:35] jcscoobyrs: josip: Will RapidSVN work for you?
|
60
|
+
[13:36] josip: It's kinda ugly :), probably
|
61
|
+
[13:36] kfogel: aslak: if you can reproduce with head, or at least with 1.3.0, please post the bug report to dev@ first. We'll take it from there.
|
62
|
+
[13:36] aslak: kfogel: i think i've stumbled upon a very old unresolved bug: http://subversion.tigris.org/issues/show_bug.cgi?id=1642
|
63
|
+
[13:36] josip: since there're ruby svn bindings I could probably work out something on rails
|
64
|
+
[13:36] aslak: that bug is unresolved, so it's maybe likely it's still unresolved?
|
65
|
+
[13:36] dylunio joined the chat room.
|
66
|
+
[13:36] waltz left the chat room.
|
67
|
+
[13:37] kfogel: aslak: I think so.
|
68
|
+
[13:37] kfogel: nice tracking down of the bug, btw
|
69
|
+
[13:37] aslak: heh, i host a couple of oss projects myself, so i know the protocol
|
70
|
+
[13:38] kfogel: well, we're unusual in how much we protect the bug tracker
|
71
|
+
[13:38] aslak: i'll post a bug if it's still there in HEAD
|
72
|
+
[13:38] kfogel: we like most things to go through the list first, or at least IRC
|
73
|
+
[13:38] kfogel: aslak: thanks
|
74
|
+
[13:38] aslak: thanks to you!
|
75
|
+
[13:38] jcscoobyrs: kfogel: You are right.
|
76
|
+
[13:39] kfogel: jcscoobyrs: it's really cut down on how much time we spend deleting invalid bug tickets
|
77
|
+
[13:39] jcscoobyrs: kfogel: I bet. dlr and davidjames and I go through this a good bit.
|
78
|
+
[13:40] shruggar: maybe I should buy the svn book so I could put it on the bookshelf and point to it when they have a question...
|
79
|
+
[13:41] shruggar: "they".. yeah.. there's a sign of a sentence which started as one thing and ended as another..
|
80
|
+
[13:41] urkle__ joined the chat room.
|
81
|
+
[13:41] shruggar: my /brain/ needs history tracking
|
82
|
+
[13:42] Guardian joined the chat room.
|
83
|
+
[13:43] burley-sf joined the chat room.
|
84
|
+
[13:44] Guardian left the chat room. (Client Quit)
|
85
|
+
[13:45] kfogel: aslak: you might want to add this IRC transcript (edited appropriately) to that issue
|
86
|
+
[13:45] aslak: kfogel: ok
|
87
|
+
[13:47] kfogel: thakns
|
@@ -201,6 +201,7 @@ EOF
|
|
201
201
|
expected_change.developer = "tirsen"
|
202
202
|
expected_change.message = "fixed some stuff in the log parser"
|
203
203
|
expected_change.native_revision_identifier = "1.19"
|
204
|
+
expected_change.status = "MODIFIED"
|
204
205
|
expected_change.time = Time.utc(2004, 7, 5, 9, 41, 51)
|
205
206
|
|
206
207
|
assert_equal(expected_change, revisions[9][0])
|
data/test/rscm/scm/cvs_test.rb
CHANGED
@@ -1,10 +1,14 @@
|
|
1
|
-
require '
|
2
|
-
require 'rscm/path_converter'
|
3
|
-
require 'rscm'
|
4
|
-
require 'rscm/generic_scm_tests'
|
5
|
-
require 'stringio'
|
1
|
+
require 'rscm/test_helper'
|
6
2
|
|
7
3
|
module RSCM
|
4
|
+
class CvsTest < Test::Unit::TestCase
|
5
|
+
include Compatibility::DamageControlMinimal
|
6
|
+
include Compatibility::Full
|
7
|
+
|
8
|
+
def create_scm(repository_root_dir, path)
|
9
|
+
Cvs.local(repository_root_dir, path)
|
10
|
+
end
|
11
|
+
end
|
8
12
|
|
9
13
|
class Cvs
|
10
14
|
# Convenience factory method used in testing
|
@@ -14,14 +18,4 @@ module RSCM
|
|
14
18
|
end
|
15
19
|
end
|
16
20
|
|
17
|
-
class CvsTest < Test::Unit::TestCase
|
18
|
-
|
19
|
-
include GenericSCMTests
|
20
|
-
include ApplyLabelTest
|
21
|
-
|
22
|
-
def create_scm(repository_root_dir, path)
|
23
|
-
Cvs.local(repository_root_dir, path)
|
24
|
-
end
|
25
|
-
|
26
|
-
end
|
27
21
|
end
|
data/test/rscm/scm/mooky_test.rb
CHANGED
@@ -1,14 +1,7 @@
|
|
1
|
-
require '
|
2
|
-
require 'fileutils'
|
3
|
-
require 'rscm'
|
4
|
-
require 'rscm/generic_scm_tests'
|
1
|
+
require 'rscm/test_helper'
|
5
2
|
|
6
3
|
module RSCM
|
7
4
|
class MookyTest < Test::Unit::TestCase
|
8
|
-
include
|
9
|
-
|
10
|
-
def create_scm(repository_root_dir, path)
|
11
|
-
Mooky.new
|
12
|
-
end
|
5
|
+
include Compatibility::DamageControlMinimal
|
13
6
|
end
|
14
7
|
end
|
@@ -1,36 +1,7 @@
|
|
1
|
-
require '
|
2
|
-
require 'rscm'
|
3
|
-
require 'rscm/generic_scm_tests'
|
1
|
+
require 'rscm/test_helper'
|
4
2
|
|
5
3
|
module RSCM
|
6
4
|
class PerforceTest < Test::Unit::TestCase
|
7
|
-
include
|
8
|
-
|
9
|
-
def create_scm(repository_root_dir, path = nil)
|
10
|
-
p4 = Perforce.new
|
11
|
-
p4.repository_root_dir = repository_root_dir
|
12
|
-
p4
|
13
|
-
end
|
14
|
-
|
15
|
-
def test_shuld_create_new_client_only_if_it_does_not_already_exist
|
16
|
-
work_dir = RSCM.new_temp_dir("use_existing_client")
|
17
|
-
checkout_dir = "#{work_dir}/WorkingCopy"
|
18
|
-
repository_dir = "#{work_dir}/repository"
|
19
|
-
name = "client-one"
|
20
|
-
|
21
|
-
scm = create_scm(repository_dir)
|
22
|
-
scm.client_name = name
|
23
|
-
scm.checkout_dir = checkout_dir
|
24
|
-
|
25
|
-
scm.create_central
|
26
|
-
@scm = scm
|
27
|
-
import_damagecontrolled(scm, "#{work_dir}/damagecontrolled")
|
28
|
-
assert(!scm.uptodate?(nil))
|
29
|
-
|
30
|
-
other = create_scm(repository_dir)
|
31
|
-
other.client_name = name
|
32
|
-
other.checkout_dir = checkout_dir
|
33
|
-
assert(!other.uptodate?(nil))
|
34
|
-
end
|
5
|
+
include Compatibility::DamageControlMinimal
|
35
6
|
end
|
36
7
|
end
|
@@ -1,12 +1,9 @@
|
|
1
|
-
require '
|
2
|
-
require 'rscm'
|
3
|
-
require 'rscm/generic_scm_tests'
|
1
|
+
require 'rscm/test_helper'
|
4
2
|
|
5
3
|
module RSCM
|
6
4
|
class SubversionTest < Test::Unit::TestCase
|
7
|
-
|
8
|
-
include
|
9
|
-
include LabelTest
|
5
|
+
include Compatibility::DamageControlMinimal
|
6
|
+
include Compatibility::Full
|
10
7
|
|
11
8
|
def create_scm(repository_root_dir, path)
|
12
9
|
Subversion.new(PathConverter.filepath_to_nativeurl("#{repository_root_dir}/#{path}"), path)
|
@@ -0,0 +1,9 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
require 'rscm'
|
3
|
+
require 'rscm/tempdir'
|
4
|
+
require 'rscm/compatibility/full'
|
5
|
+
require 'rscm/compatibility/damage_control_minimal'
|
6
|
+
|
7
|
+
module RSCM
|
8
|
+
DEFAULT_OPTIONS = {:stdout => 'target/stdout.log', :stderr => 'target/stderr.log'}.freeze
|
9
|
+
end
|
metadata
CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.8.11
|
|
3
3
|
specification_version: 1
|
4
4
|
name: rscm
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 0.4.
|
7
|
-
date: 2006-
|
6
|
+
version: 0.4.4
|
7
|
+
date: 2006-03-04 00:00:00 -06:00
|
8
8
|
summary: RSCM - Ruby Source Control Management
|
9
9
|
require_paths:
|
10
10
|
- lib
|
@@ -62,18 +62,17 @@ files:
|
|
62
62
|
- lib/rscm/scm/star_team.rb
|
63
63
|
- lib/rscm/scm/subversion.rb
|
64
64
|
- lib/rscm/scm/subversion_log_parser.rb
|
65
|
-
- lib/rscm/scm/subversion_log_parser.rb.rej
|
66
65
|
- bin/diff.exe
|
67
66
|
- bin/Diff_StdDisclaimer.html
|
68
67
|
- bin/touch.exe
|
69
68
|
- test/rscm
|
70
69
|
- test/rscm/apply_label_scm_tests.rb
|
71
70
|
- test/rscm/command_line_test.rb
|
71
|
+
- test/rscm/compatibility
|
72
72
|
- test/rscm/difftool_test.rb
|
73
73
|
- test/rscm/file_after_edit
|
74
74
|
- test/rscm/file_ext.rb
|
75
75
|
- test/rscm/file_to_edit
|
76
|
-
- test/rscm/generic_scm_tests.rb
|
77
76
|
- test/rscm/line_editor_test.rb
|
78
77
|
- test/rscm/mockit_test.rb
|
79
78
|
- test/rscm/parser_test.rb
|
@@ -82,6 +81,19 @@ files:
|
|
82
81
|
- test/rscm/revision_test.rb
|
83
82
|
- test/rscm/revisions.yaml
|
84
83
|
- test/rscm/scm
|
84
|
+
- test/rscm/test_helper.rb
|
85
|
+
- test/rscm/compatibility/config.yml
|
86
|
+
- test/rscm/compatibility/cvs_metaproject
|
87
|
+
- test/rscm/compatibility/damage_control_minimal.rb
|
88
|
+
- test/rscm/compatibility/full.rb
|
89
|
+
- test/rscm/compatibility/subversion_rscm
|
90
|
+
- test/rscm/compatibility/cvs_metaproject/files_0.yml
|
91
|
+
- test/rscm/compatibility/cvs_metaproject/revisions.yml
|
92
|
+
- test/rscm/compatibility/cvs_metaproject/scm.yml
|
93
|
+
- test/rscm/compatibility/subversion_rscm/files_0.yml
|
94
|
+
- test/rscm/compatibility/subversion_rscm/revisions.yml
|
95
|
+
- test/rscm/compatibility/subversion_rscm/scm.yml
|
96
|
+
- test/rscm/compatibility/subversion_rscm/svn_log_bug_irc.txt
|
85
97
|
- test/rscm/scm/cvs-dataforge.log
|
86
98
|
- test/rscm/scm/cvs-test.log
|
87
99
|
- test/rscm/scm/cvs_log_parser_test.rb
|
@@ -1,39 +0,0 @@
|
|
1
|
-
***************
|
2
|
-
*** 38,43 ****
|
3
|
-
end
|
4
|
-
|
5
|
-
def relative_path(url, repo_path)
|
6
|
-
url_tokens = url.split('/')
|
7
|
-
repo_path_tokens = repo_path.split('/')
|
8
|
-
|
9
|
-
--- 38,45 ----
|
10
|
-
end
|
11
|
-
|
12
|
-
def relative_path(url, repo_path)
|
13
|
-
+ repo_path.chomp!
|
14
|
-
+
|
15
|
-
url_tokens = url.split('/')
|
16
|
-
repo_path_tokens = repo_path.split('/')
|
17
|
-
|
18
|
-
***************
|
19
|
-
*** 50,60 ****
|
20
|
-
end
|
21
|
-
max_similar -= 1
|
22
|
-
end
|
23
|
-
- if(max_similar == 0)
|
24
|
-
- nil
|
25
|
-
- else
|
26
|
-
- repo_path_tokens[max_similar..-1].join("/")
|
27
|
-
- end
|
28
|
-
end
|
29
|
-
|
30
|
-
protected
|
31
|
-
--- 52,59 ----
|
32
|
-
end
|
33
|
-
max_similar -= 1
|
34
|
-
end
|
35
|
-
+
|
36
|
-
+ repo_path_tokens[max_similar..-1].join("/")
|
37
|
-
end
|
38
|
-
|
39
|
-
protected
|