svnx 1.0.1 → 2.0.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (87) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -0
  3. data/.glarkrc +1 -0
  4. data/Features.txt +7 -0
  5. data/Gemfile +4 -0
  6. data/History.txt +4 -0
  7. data/LICENSE +20 -0
  8. data/Manifest.txt +0 -0
  9. data/README.md +12 -0
  10. data/Rakefile +12 -0
  11. data/lib/svnx/base/action.rb +57 -52
  12. data/lib/svnx/base/cmdline.rb +58 -0
  13. data/lib/svnx/base/command.rb +49 -41
  14. data/lib/svnx/base/entries.rb +46 -45
  15. data/lib/svnx/base/entry.rb +51 -38
  16. data/lib/svnx/base/env.rb +26 -0
  17. data/lib/svnx/base/options.rb +25 -0
  18. data/lib/svnx/cat/command.rb +3 -64
  19. data/lib/svnx/cat/options.rb +28 -0
  20. data/lib/svnx/commit/command.rb +9 -0
  21. data/lib/svnx/commit/options.rb +29 -0
  22. data/lib/svnx/diff/command.rb +17 -0
  23. data/lib/svnx/diff/elements.rb +84 -0
  24. data/lib/svnx/diff/options.rb +35 -0
  25. data/lib/svnx/diff/parser.rb +105 -0
  26. data/lib/svnx/info/command.rb +4 -47
  27. data/lib/svnx/info/entries.rb +6 -8
  28. data/lib/svnx/info/entry.rb +21 -23
  29. data/lib/svnx/info/options.rb +28 -0
  30. data/lib/svnx/io/directory.rb +9 -5
  31. data/lib/svnx/io/element.rb +93 -95
  32. data/lib/svnx/log/command.rb +7 -3
  33. data/lib/svnx/log/entries.rb +17 -14
  34. data/lib/svnx/log/entry.rb +61 -49
  35. data/lib/svnx/log/options.rb +31 -0
  36. data/lib/svnx/merge/command.rb +9 -0
  37. data/lib/svnx/merge/options.rb +34 -0
  38. data/lib/svnx/project.rb +74 -0
  39. data/lib/svnx/propget/command.rb +9 -0
  40. data/lib/svnx/propget/entries.rb +15 -0
  41. data/lib/svnx/propget/entry.rb +23 -0
  42. data/lib/svnx/propget/options.rb +31 -0
  43. data/lib/svnx/propset/command.rb +9 -0
  44. data/lib/svnx/propset/options.rb +33 -0
  45. data/lib/svnx/revision/argfactory.rb +2 -2
  46. data/lib/svnx/revision/argument.rb +7 -3
  47. data/lib/svnx/revision/date.rb +27 -0
  48. data/lib/svnx/revision/error.rb +2 -2
  49. data/lib/svnx/revision/range.rb +5 -2
  50. data/lib/svnx/status/command.rb +4 -42
  51. data/lib/svnx/status/entries.rb +11 -12
  52. data/lib/svnx/status/entry.rb +43 -41
  53. data/lib/svnx/status/options.rb +28 -0
  54. data/lib/svnx/update/command.rb +9 -0
  55. data/lib/svnx/update/options.rb +25 -0
  56. data/lib/svnx/util/dateutil.rb +35 -0
  57. data/lib/svnx/util/objutil.rb +14 -0
  58. data/lib/{svnx.rb → svnx/version.rb} +2 -2
  59. data/lib/system/command/arg.rb +6 -5
  60. data/lib/system/command/cachefile.rb +29 -21
  61. data/lib/system/command/caching.rb +12 -25
  62. data/lib/system/command/line.rb +41 -30
  63. data/svnx.gemspec +34 -0
  64. metadata +85 -61
  65. data/lib/svnx/base/args.rb +0 -24
  66. data/lib/svnx/log/args.rb +0 -57
  67. data/lib/svnx/log/exec.rb +0 -27
  68. data/lib/svnx/log/line.rb +0 -42
  69. data/test/integration/info/info_test.rb +0 -21
  70. data/test/integration/log/log_test.rb +0 -74
  71. data/test/integration/status/status_test.rb +0 -35
  72. data/test/integration/svnx/io/element_test.rb +0 -235
  73. data/test/unit/svnx/base/action_test.rb +0 -49
  74. data/test/unit/svnx/cat/command_test.rb +0 -55
  75. data/test/unit/svnx/info/entries_test.rb +0 -22
  76. data/test/unit/svnx/log/args_test.rb +0 -15
  77. data/test/unit/svnx/log/entries_test.rb +0 -87
  78. data/test/unit/svnx/log/entry_test.rb +0 -15
  79. data/test/unit/svnx/log/exec_test.rb +0 -15
  80. data/test/unit/svnx/log/line_test.rb +0 -14
  81. data/test/unit/svnx/revision/argfactory_test.rb +0 -50
  82. data/test/unit/svnx/revision/argument_test.rb +0 -167
  83. data/test/unit/svnx/revision/range_test.rb +0 -48
  84. data/test/unit/svnx/status/entries_test.rb +0 -20
  85. data/test/unit/system/command/cachefile_test.rb +0 -52
  86. data/test/unit/system/command/caching_test.rb +0 -92
  87. 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