svnx 1.0.1 → 2.0.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +2 -0
- data/.glarkrc +1 -0
- data/Features.txt +7 -0
- data/Gemfile +4 -0
- data/History.txt +4 -0
- data/LICENSE +20 -0
- data/Manifest.txt +0 -0
- data/README.md +12 -0
- data/Rakefile +12 -0
- data/lib/svnx/base/action.rb +57 -52
- data/lib/svnx/base/cmdline.rb +58 -0
- data/lib/svnx/base/command.rb +49 -41
- data/lib/svnx/base/entries.rb +46 -45
- data/lib/svnx/base/entry.rb +51 -38
- data/lib/svnx/base/env.rb +26 -0
- data/lib/svnx/base/options.rb +25 -0
- data/lib/svnx/cat/command.rb +3 -64
- data/lib/svnx/cat/options.rb +28 -0
- data/lib/svnx/commit/command.rb +9 -0
- data/lib/svnx/commit/options.rb +29 -0
- data/lib/svnx/diff/command.rb +17 -0
- data/lib/svnx/diff/elements.rb +84 -0
- data/lib/svnx/diff/options.rb +35 -0
- data/lib/svnx/diff/parser.rb +105 -0
- data/lib/svnx/info/command.rb +4 -47
- data/lib/svnx/info/entries.rb +6 -8
- data/lib/svnx/info/entry.rb +21 -23
- data/lib/svnx/info/options.rb +28 -0
- data/lib/svnx/io/directory.rb +9 -5
- data/lib/svnx/io/element.rb +93 -95
- data/lib/svnx/log/command.rb +7 -3
- data/lib/svnx/log/entries.rb +17 -14
- data/lib/svnx/log/entry.rb +61 -49
- data/lib/svnx/log/options.rb +31 -0
- data/lib/svnx/merge/command.rb +9 -0
- data/lib/svnx/merge/options.rb +34 -0
- data/lib/svnx/project.rb +74 -0
- data/lib/svnx/propget/command.rb +9 -0
- data/lib/svnx/propget/entries.rb +15 -0
- data/lib/svnx/propget/entry.rb +23 -0
- data/lib/svnx/propget/options.rb +31 -0
- data/lib/svnx/propset/command.rb +9 -0
- data/lib/svnx/propset/options.rb +33 -0
- data/lib/svnx/revision/argfactory.rb +2 -2
- data/lib/svnx/revision/argument.rb +7 -3
- data/lib/svnx/revision/date.rb +27 -0
- data/lib/svnx/revision/error.rb +2 -2
- data/lib/svnx/revision/range.rb +5 -2
- data/lib/svnx/status/command.rb +4 -42
- data/lib/svnx/status/entries.rb +11 -12
- data/lib/svnx/status/entry.rb +43 -41
- data/lib/svnx/status/options.rb +28 -0
- data/lib/svnx/update/command.rb +9 -0
- data/lib/svnx/update/options.rb +25 -0
- data/lib/svnx/util/dateutil.rb +35 -0
- data/lib/svnx/util/objutil.rb +14 -0
- data/lib/{svnx.rb → svnx/version.rb} +2 -2
- data/lib/system/command/arg.rb +6 -5
- data/lib/system/command/cachefile.rb +29 -21
- data/lib/system/command/caching.rb +12 -25
- data/lib/system/command/line.rb +41 -30
- data/svnx.gemspec +34 -0
- metadata +85 -61
- data/lib/svnx/base/args.rb +0 -24
- data/lib/svnx/log/args.rb +0 -57
- data/lib/svnx/log/exec.rb +0 -27
- data/lib/svnx/log/line.rb +0 -42
- data/test/integration/info/info_test.rb +0 -21
- data/test/integration/log/log_test.rb +0 -74
- data/test/integration/status/status_test.rb +0 -35
- data/test/integration/svnx/io/element_test.rb +0 -235
- data/test/unit/svnx/base/action_test.rb +0 -49
- data/test/unit/svnx/cat/command_test.rb +0 -55
- data/test/unit/svnx/info/entries_test.rb +0 -22
- data/test/unit/svnx/log/args_test.rb +0 -15
- data/test/unit/svnx/log/entries_test.rb +0 -87
- data/test/unit/svnx/log/entry_test.rb +0 -15
- data/test/unit/svnx/log/exec_test.rb +0 -15
- data/test/unit/svnx/log/line_test.rb +0 -14
- data/test/unit/svnx/revision/argfactory_test.rb +0 -50
- data/test/unit/svnx/revision/argument_test.rb +0 -167
- data/test/unit/svnx/revision/range_test.rb +0 -48
- data/test/unit/svnx/status/entries_test.rb +0 -20
- data/test/unit/system/command/cachefile_test.rb +0 -52
- data/test/unit/system/command/caching_test.rb +0 -92
- data/test/unit/system/command/line_test.rb +0 -63
@@ -1,48 +0,0 @@
|
|
1
|
-
#!/usr/bin/ruby -w
|
2
|
-
# -*- ruby -*-
|
3
|
-
|
4
|
-
require 'tc'
|
5
|
-
require 'svnx/log/entries'
|
6
|
-
require 'svnx/revision/range'
|
7
|
-
require 'svnx/revision/argument'
|
8
|
-
require 'svnx/revision/argfactory'
|
9
|
-
require 'resources'
|
10
|
-
|
11
|
-
module SVNx::Revision
|
12
|
-
class RangeTestCase < SVNx::TestCase
|
13
|
-
def setup
|
14
|
-
xmllines = Resources::PT_LOG_R22_13_SECONDFILE_TXT.readlines
|
15
|
-
@entries = SVNx::Log::Entries.new :xmllines => xmllines
|
16
|
-
end
|
17
|
-
|
18
|
-
def assert_range expstr, expfrom, expto, argfrom, argto = nil
|
19
|
-
rg = Range.new argfrom, argto
|
20
|
-
msg = "from: #{argfrom}; to: #{argto}"
|
21
|
-
|
22
|
-
assert_equal expfrom, rg.from.to_s, msg
|
23
|
-
assert_equal expto, rg.to.to_s, msg
|
24
|
-
assert_equal expstr, rg.to_s, msg
|
25
|
-
rg
|
26
|
-
end
|
27
|
-
|
28
|
-
def test_init
|
29
|
-
assert_range '143:199', '143', '199', '143:199'
|
30
|
-
end
|
31
|
-
|
32
|
-
def test_to_working_copy
|
33
|
-
rr = assert_range '143', '143', '', '143'
|
34
|
-
assert rr.working_copy?
|
35
|
-
end
|
36
|
-
|
37
|
-
def test_init_takes_arguments
|
38
|
-
fa = Argument.new 143
|
39
|
-
ta = Argument.new 199
|
40
|
-
assert_range '143:199', '143', '199', fa, ta
|
41
|
-
end
|
42
|
-
|
43
|
-
def test_to_head
|
44
|
-
rr = assert_range '143:HEAD', '143', 'HEAD', '143', 'HEAD'
|
45
|
-
assert rr.head?
|
46
|
-
end
|
47
|
-
end
|
48
|
-
end
|
@@ -1,20 +0,0 @@
|
|
1
|
-
#!/usr/bin/ruby -w
|
2
|
-
# -*- ruby -*-
|
3
|
-
|
4
|
-
require 'svnx/status/tc'
|
5
|
-
require 'svnx/status/entries'
|
6
|
-
|
7
|
-
module SVNx::Status
|
8
|
-
class EntriesTestCase < SVNx::Status::TestCase
|
9
|
-
def test_create_from_xml
|
10
|
-
entries = Entries.new :xmllines => Resources::PTP_STATUS.readlines
|
11
|
-
|
12
|
-
assert_equal 5, entries.size
|
13
|
-
assert_status_entry_equals 'modified', 'FirstFile.txt', entries[0]
|
14
|
-
assert_status_entry_equals 'unversioned', 'src/java/Charlie.java', entries[1]
|
15
|
-
assert_status_entry_equals 'added', 'src/ruby/dog.rb', entries[2]
|
16
|
-
assert_status_entry_equals 'added', 'SeventhFile.txt', entries[3]
|
17
|
-
assert_status_entry_equals 'deleted', 'dirzero/SixthFile.txt', entries[4]
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
@@ -1,52 +0,0 @@
|
|
1
|
-
#!/usr/bin/ruby -w
|
2
|
-
# -*- ruby -*-
|
3
|
-
|
4
|
-
require 'tc'
|
5
|
-
require 'system/command/tc'
|
6
|
-
require 'system/command/caching'
|
7
|
-
require 'zlib'
|
8
|
-
|
9
|
-
module System
|
10
|
-
class CacheFileTestCase < CommandTestCase
|
11
|
-
def test_creates_gzfile
|
12
|
-
cf = CacheFile.new CACHE_DIR, [ "ls", "/var/tmp" ]
|
13
|
-
cfpn = cf.instance_eval '@pn'
|
14
|
-
cfpn.unlink if cfpn.exist?
|
15
|
-
|
16
|
-
lines = cf.readlines
|
17
|
-
|
18
|
-
cfpn = cf.instance_eval '@pn'
|
19
|
-
assert cfpn.exist?
|
20
|
-
|
21
|
-
Zlib::GzipReader.open(cfpn.to_s) do |gz|
|
22
|
-
fromgz = gz.readlines
|
23
|
-
assert_equal lines, fromgz
|
24
|
-
end
|
25
|
-
end
|
26
|
-
|
27
|
-
def test_reads_gzfile
|
28
|
-
cf = CacheFile.new CACHE_DIR, [ "ls", "-l", "/var/tmp" ]
|
29
|
-
cfpn = cf.instance_eval '@pn'
|
30
|
-
cfpn.unlink if cfpn.exist?
|
31
|
-
|
32
|
-
lines = cf.readlines
|
33
|
-
|
34
|
-
cfpn = cf.instance_eval '@pn'
|
35
|
-
assert cfpn.exist?
|
36
|
-
|
37
|
-
# same as above
|
38
|
-
cf2 = CacheFile.new CACHE_DIR, [ "ls", "-l", "/var/tmp" ]
|
39
|
-
|
40
|
-
def cf2.save_file
|
41
|
-
fail "should not have called save file for read"
|
42
|
-
end
|
43
|
-
|
44
|
-
lines2 = cf2.readlines
|
45
|
-
|
46
|
-
assert_equal lines2, lines
|
47
|
-
|
48
|
-
fromgz = read_gzfile cfpn
|
49
|
-
assert_equal lines, fromgz
|
50
|
-
end
|
51
|
-
end
|
52
|
-
end
|
@@ -1,92 +0,0 @@
|
|
1
|
-
#!/usr/bin/ruby -w
|
2
|
-
# -*- ruby -*-
|
3
|
-
|
4
|
-
require 'system/command/caching'
|
5
|
-
require 'system/command/tc'
|
6
|
-
|
7
|
-
# Ruby 2 changes this to "file: Class#method", so we've got to cache it (ironic, no?)
|
8
|
-
$curfile = $0
|
9
|
-
puts "caching_test: $curfile: #{$curfile}"
|
10
|
-
|
11
|
-
module System
|
12
|
-
class CachingCommandLineTestCase < CommandTestCase
|
13
|
-
def create_ls_tmp
|
14
|
-
CachingCommandLine.new [ "ls", "/bin" ]
|
15
|
-
end
|
16
|
-
|
17
|
-
def test_ctor_no_args
|
18
|
-
cl = CachingCommandLine.new [ "ls" ]
|
19
|
-
assert_equal "ls", cl.to_command
|
20
|
-
end
|
21
|
-
|
22
|
-
def test_ctor_with_args
|
23
|
-
cl = CachingCommandLine.new [ "ls", "/bin" ]
|
24
|
-
assert_equal "ls /bin", cl.to_command
|
25
|
-
end
|
26
|
-
|
27
|
-
def test_lshift
|
28
|
-
cl = CachingCommandLine.new [ "ls" ]
|
29
|
-
cl << "/bin"
|
30
|
-
assert_equal "ls /bin", cl.to_command
|
31
|
-
end
|
32
|
-
|
33
|
-
def test_cache_dir_defaults_to_executable
|
34
|
-
cl = create_ls_tmp
|
35
|
-
assert_equal '/tmp' + (Pathname.new($curfile).expand_path).to_s, cl.cache_dir
|
36
|
-
end
|
37
|
-
|
38
|
-
def test_cache_file_defaults_to_executable
|
39
|
-
cl = create_ls_tmp
|
40
|
-
assert_equal '/tmp' + (Pathname.new($curfile).expand_path).to_s + '/ls-_slash_bin.gz', cl.cache_file.to_s
|
41
|
-
end
|
42
|
-
|
43
|
-
def test_cache_dir_set_cachefile
|
44
|
-
cl = create_ls_tmp
|
45
|
-
def cl.cache_dir; CACHE_DIR.to_s; end
|
46
|
-
assert_not_nil cl.cache_dir
|
47
|
-
assert !CACHE_DIR.exist?
|
48
|
-
|
49
|
-
cachefile = cl.cache_file
|
50
|
-
assert_equal CACHE_DIR.to_s + '/ls-_slash_bin.gz', cachefile.to_s
|
51
|
-
end
|
52
|
-
|
53
|
-
def test_cache_dir_created_on_execute
|
54
|
-
cl = create_ls_tmp
|
55
|
-
def cl.cache_dir; CACHE_DIR.to_s; end
|
56
|
-
|
57
|
-
cachefile = cl.cache_file
|
58
|
-
|
59
|
-
cl.execute
|
60
|
-
assert CACHE_DIR.exist?
|
61
|
-
cachelines = read_gzfile cachefile
|
62
|
-
|
63
|
-
syslines = nil
|
64
|
-
# we can't use /tmp, since this test will add to it:
|
65
|
-
IO.popen("ls /bin") do |io|
|
66
|
-
syslines = io.readlines
|
67
|
-
end
|
68
|
-
|
69
|
-
assert_equal syslines, cachelines
|
70
|
-
end
|
71
|
-
|
72
|
-
def test_cache_file_matches_results
|
73
|
-
dir = "/usr/local/bin"
|
74
|
-
cl = CachingCommandLine.new [ "ls", dir ]
|
75
|
-
def cl.cache_dir; CACHE_DIR.to_s; end
|
76
|
-
|
77
|
-
cachefile = cl.cache_file
|
78
|
-
|
79
|
-
cl.execute
|
80
|
-
assert CACHE_DIR.exist?
|
81
|
-
|
82
|
-
cachelines = read_gzfile cachefile
|
83
|
-
|
84
|
-
syslines = nil
|
85
|
-
IO.popen("ls #{dir}") do |io|
|
86
|
-
syslines = io.readlines
|
87
|
-
end
|
88
|
-
|
89
|
-
assert_equal syslines, cachelines
|
90
|
-
end
|
91
|
-
end
|
92
|
-
end
|
@@ -1,63 +0,0 @@
|
|
1
|
-
#!/usr/bin/ruby -w
|
2
|
-
# -*- ruby -*-
|
3
|
-
|
4
|
-
require 'tc'
|
5
|
-
require 'system/command/line'
|
6
|
-
|
7
|
-
Logue::Log.level = Logue::Log::DEBUG
|
8
|
-
|
9
|
-
module System
|
10
|
-
class CommandLineTestCase < SVNx::TestCase
|
11
|
-
# init
|
12
|
-
|
13
|
-
def assert_init expecetd, initargs
|
14
|
-
cl = System::CommandLine.new initargs
|
15
|
-
assert_equal expected, cl.args
|
16
|
-
|
17
|
-
def test_init
|
18
|
-
assert_init [ "ls" ], [ "ls" ]
|
19
|
-
end
|
20
|
-
end
|
21
|
-
|
22
|
-
# <<
|
23
|
-
|
24
|
-
def assert_lshift expected, initargs, add
|
25
|
-
info "self: #{self}"
|
26
|
-
cl = System::CommandLine.new initargs
|
27
|
-
cl << add
|
28
|
-
assert_equal expected, cl.args
|
29
|
-
end
|
30
|
-
|
31
|
-
def test_lshift
|
32
|
-
assert_lshift [ "ls", "/tmp" ], [ "ls" ], "/tmp"
|
33
|
-
end
|
34
|
-
|
35
|
-
# to_command
|
36
|
-
|
37
|
-
def assert_to_command expect, args
|
38
|
-
cl = System::CommandLine.new args
|
39
|
-
assert_equal expect, cl.to_command
|
40
|
-
end
|
41
|
-
|
42
|
-
def test_to_command_init
|
43
|
-
assert_to_command "ls", [ "ls" ]
|
44
|
-
end
|
45
|
-
|
46
|
-
# execute/status
|
47
|
-
|
48
|
-
def assert_execute_status expect_success, args
|
49
|
-
info "self: #{self}"
|
50
|
-
cl = System::CommandLine.new args
|
51
|
-
cl.execute
|
52
|
-
assert_equal expect_success, cl.status.success?, "args: #{args}"
|
53
|
-
end
|
54
|
-
|
55
|
-
def test_execute_status_success
|
56
|
-
assert_execute_status true, [ "ls", "/tmp" ]
|
57
|
-
end
|
58
|
-
|
59
|
-
def test_execute_status_failure
|
60
|
-
assert_execute_status false, [ "ls", "/tmpx" ]
|
61
|
-
end
|
62
|
-
end
|
63
|
-
end
|