svnx 1.0.1 → 2.0.6

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.
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