rscm 0.4.3 → 0.4.4
Sign up to get free protection for your applications and to get access to all the features.
- 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
|