vcs 0.2.148 → 0.3.0

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 (152) hide show
  1. data/AUTHORS +6 -0
  2. data/NEWS +9 -0
  3. data/README +82 -0
  4. data/Rakefile +7 -72
  5. data/SPEC.dyn.yml +10 -0
  6. data/SPEC.gemspec +14 -0
  7. data/SPEC.yml +39 -0
  8. data/bin/vcs +18 -16
  9. data/lib/vcs/changelog.rb +164 -0
  10. data/lib/vcs/conflict.rb +21 -0
  11. data/{src → lib/vcs}/cvs.rb +1 -1
  12. data/{src → lib/vcs}/diff.rb +2 -2
  13. data/lib/vcs/diffstat.rb +28 -0
  14. data/lib/vcs/edit.rb +16 -0
  15. data/{src → lib/vcs}/last_changed_date.rb +3 -5
  16. data/{src → lib/vcs}/mail.rb +4 -4
  17. data/lib/vcs/message.rb +79 -0
  18. data/{src → lib/vcs}/mycommit.rb +15 -15
  19. data/{src → lib/vcs}/news.rb +6 -6
  20. data/{src → lib/vcs}/prcs.rb +1 -1
  21. data/{src → lib/vcs}/revision.rb +3 -4
  22. data/lib/vcs/script.rb +19 -0
  23. data/{src → lib/vcs}/status.rb +1 -1
  24. data/{src → lib/vcs}/svn.rb +3 -5
  25. data/lib/vcs/url.rb +16 -0
  26. data/lib/vcs/vcs.rb +279 -0
  27. metadata +52 -150
  28. data/TODO +0 -19
  29. data/doc/jamis.rb +0 -564
  30. data/ruby_ex/abstract.rb +0 -254
  31. data/ruby_ex/abstract_node.rb +0 -85
  32. data/ruby_ex/algorithms/simulated_annealing.rb +0 -140
  33. data/ruby_ex/array_each_pair.rb +0 -18
  34. data/ruby_ex/ask.rb +0 -101
  35. data/ruby_ex/attributed_class.rb +0 -302
  36. data/ruby_ex/cache.rb +0 -373
  37. data/ruby_ex/checkout.rb +0 -12
  38. data/ruby_ex/choose.rb +0 -271
  39. data/ruby_ex/commands.rb +0 -18
  40. data/ruby_ex/commands/command.rb +0 -401
  41. data/ruby_ex/commands/datas.rb +0 -16
  42. data/ruby_ex/commands/datas/data.rb +0 -33
  43. data/ruby_ex/commands/datas/factory.rb +0 -66
  44. data/ruby_ex/commands/factory.rb +0 -66
  45. data/ruby_ex/commands/helpers.rb +0 -67
  46. data/ruby_ex/commands/pipe.rb +0 -64
  47. data/ruby_ex/commands/runners.rb +0 -17
  48. data/ruby_ex/commands/runners/exec.rb +0 -49
  49. data/ruby_ex/commands/runners/fork.rb +0 -97
  50. data/ruby_ex/commands/runners/runner.rb +0 -107
  51. data/ruby_ex/commands/seq.rb +0 -27
  52. data/ruby_ex/config_file.rb +0 -96
  53. data/ruby_ex/const_regexp.rb +0 -59
  54. data/ruby_ex/daemon.rb +0 -134
  55. data/ruby_ex/diff.rb +0 -667
  56. data/ruby_ex/dlogger.rb +0 -62
  57. data/ruby_ex/drb/dispatcher.rb +0 -252
  58. data/ruby_ex/drb/dispatcher_server_test.rb +0 -29
  59. data/ruby_ex/drb/drb_observable.rb +0 -97
  60. data/ruby_ex/drb/drb_observable_pool.rb +0 -27
  61. data/ruby_ex/drb/drb_service.rb +0 -43
  62. data/ruby_ex/drb/drb_undumped_attributes.rb +0 -55
  63. data/ruby_ex/drb/drb_undumped_indexed_object.rb +0 -54
  64. data/ruby_ex/drb/insecure_protected_methods.rb +0 -103
  65. data/ruby_ex/drb/session_client_test.rb +0 -40
  66. data/ruby_ex/drb/session_manager.rb +0 -246
  67. data/ruby_ex/drb/session_server.rb +0 -53
  68. data/ruby_ex/dtime.rb +0 -143
  69. data/ruby_ex/dumpable_proc.rb +0 -63
  70. data/ruby_ex/exception.rb +0 -32
  71. data/ruby_ex/filetype.rb +0 -229
  72. data/ruby_ex/fileutils_ex.rb +0 -44
  73. data/ruby_ex/fold.rb +0 -58
  74. data/ruby_ex/generate_id.rb +0 -44
  75. data/ruby_ex/hookable.rb +0 -262
  76. data/ruby_ex/hooker.rb +0 -54
  77. data/ruby_ex/inactive_timeout.rb +0 -137
  78. data/ruby_ex/indexed_node.rb +0 -66
  79. data/ruby_ex/io_marshal.rb +0 -100
  80. data/ruby_ex/ioo.rb +0 -194
  81. data/ruby_ex/labeled_node.rb +0 -63
  82. data/ruby_ex/logger_observer.rb +0 -23
  83. data/ruby_ex/md5sum.rb +0 -66
  84. data/ruby_ex/mktemp.rb +0 -208
  85. data/ruby_ex/module/attr_once.rb +0 -36
  86. data/ruby_ex/module/autoload_tree.rb +0 -75
  87. data/ruby_ex/module/hierarchy.rb +0 -335
  88. data/ruby_ex/module/instance_method_visibility.rb +0 -73
  89. data/ruby_ex/module_ex.rb +0 -11
  90. data/ruby_ex/node.rb +0 -80
  91. data/ruby_ex/object_monitor.rb +0 -145
  92. data/ruby_ex/object_monitor_activity.rb +0 -33
  93. data/ruby_ex/observable.rb +0 -140
  94. data/ruby_ex/observable_pool.rb +0 -293
  95. data/ruby_ex/orderedhash.rb +0 -252
  96. data/ruby_ex/pathname_ex.rb +0 -152
  97. data/ruby_ex/pp_hierarchy.rb +0 -29
  98. data/ruby_ex/pseudo_cache.rb +0 -190
  99. data/ruby_ex/queue.rb +0 -56
  100. data/ruby_ex/random_generators.rb +0 -25
  101. data/ruby_ex/random_generators/random_generator.rb +0 -31
  102. data/ruby_ex/random_generators/ruby.rb +0 -23
  103. data/ruby_ex/safe_eval.rb +0 -348
  104. data/ruby_ex/sendmail.rb +0 -215
  105. data/ruby_ex/service_manager.rb +0 -121
  106. data/ruby_ex/session/administrable.rb +0 -120
  107. data/ruby_ex/session/client.rb +0 -153
  108. data/ruby_ex/session/const.rb +0 -18
  109. data/ruby_ex/session/dispatcher.rb +0 -184
  110. data/ruby_ex/session/error.rb +0 -21
  111. data/ruby_ex/session/fetchable.rb +0 -57
  112. data/ruby_ex/session/fetcher.rb +0 -62
  113. data/ruby_ex/session/hookable.rb +0 -26
  114. data/ruby_ex/session/profile.rb +0 -110
  115. data/ruby_ex/session/server.rb +0 -582
  116. data/ruby_ex/session/test/administrable_test.rb +0 -337
  117. data/ruby_ex/session/test/basic_test.rb +0 -523
  118. data/ruby_ex/session/test/dispatcher_test.rb +0 -409
  119. data/ruby_ex/session/test/fetchable_test.rb +0 -119
  120. data/ruby_ex/session/test/sub_server_test.rb +0 -188
  121. data/ruby_ex/shuffle.rb +0 -30
  122. data/ruby_ex/spring.rb +0 -136
  123. data/ruby_ex/spring_set.rb +0 -137
  124. data/ruby_ex/string_ex.rb +0 -28
  125. data/ruby_ex/symtbl.rb +0 -106
  126. data/ruby_ex/synflow.rb +0 -474
  127. data/ruby_ex/test/unit/ui/yaml/testrunner.rb +0 -164
  128. data/ruby_ex/thread_mutex.rb +0 -10
  129. data/ruby_ex/timeout_ex.rb +0 -81
  130. data/ruby_ex/top_down.rb +0 -73
  131. data/ruby_ex/trace.rb +0 -26
  132. data/ruby_ex/uri/druby.rb +0 -81
  133. data/ruby_ex/uri/file.rb +0 -65
  134. data/ruby_ex/uri/ftp_ex.rb +0 -37
  135. data/ruby_ex/uri/http_ex.rb +0 -43
  136. data/ruby_ex/uri/ssh.rb +0 -92
  137. data/ruby_ex/uri/svn.rb +0 -118
  138. data/ruby_ex/uri_ex.rb +0 -45
  139. data/ruby_ex/verbose_object.rb +0 -30
  140. data/ruby_ex/version.rb +0 -66
  141. data/ruby_ex/yaml/basenode_ext.rb +0 -63
  142. data/ruby_ex/yaml/chop_header.rb +0 -23
  143. data/ruby_ex/yaml/transform.rb +0 -449
  144. data/ruby_ex/yaml/yregexpath.rb +0 -76
  145. data/src/ask.rb +0 -101
  146. data/src/changelog.rb +0 -117
  147. data/src/conflict.rb +0 -20
  148. data/src/diffstat.rb +0 -42
  149. data/src/message.rb +0 -64
  150. data/src/reply-mail.rb +0 -14
  151. data/src/tools.rb +0 -22
  152. data/src/vcs.rb +0 -176
@@ -1,16 +0,0 @@
1
- # Author:: Nicolas Pouillard <ertai@lrde.epita.fr>.
2
- # Copyright:: Copyright (c) 2005 Nicolas Pouillard. All rights reserved.
3
- # License:: GNU General Public License (GPL).
4
- # Revision:: $Id: datas.rb 221 2005-05-09 12:40:57Z ertai $
5
-
6
- require 'module/autoload_tree'
7
-
8
- module Commands
9
-
10
- module Datas
11
-
12
- autoloaded_module(__FILE__)
13
-
14
- end # module Datas
15
-
16
- end # module Commands
@@ -1,33 +0,0 @@
1
- # Author:: Nicolas Pouillard <ertai@lrde.epita.fr>.
2
- # Copyright:: Copyright (c) 2005 Nicolas Pouillard. All rights reserved.
3
- # License:: GNU General Public License (GPL).
4
- # Revision:: $Id: data.rb 221 2005-05-09 12:40:57Z ertai $
5
-
6
- module Commands
7
-
8
- module Datas
9
-
10
- #
11
- # A CommandData instance contains all information returned by a Command#run:
12
- #
13
- # * It's exit status:
14
- # - Exit number.
15
- # - Signals
16
- # - ...
17
- #
18
- # * It's outputs:
19
- # - What it writes on stdout.
20
- # - stderr.
21
- class Data
22
-
23
- attr_accessor :pid
24
- attr_accessor :input
25
- attr_accessor :output
26
- attr_accessor :error
27
- attr_accessor :status
28
-
29
- end # class Data
30
-
31
- end # module Datas
32
-
33
- end # module Commands
@@ -1,66 +0,0 @@
1
- # Author:: Nicolas Pouillard <ertai@lrde.epita.fr>.
2
- # Copyright:: Copyright (c) 2005 Nicolas Pouillard. All rights reserved.
3
- # License:: GNU General Public License (GPL).
4
- # Revision:: $Id: factory.rb 221 2005-05-09 12:40:57Z ertai $
5
-
6
- module Commands
7
-
8
- module Datas
9
-
10
- class Factory < Data
11
-
12
- attr_accessor :command_data_class
13
-
14
- def initialize
15
- @command_data_class = Data
16
- end
17
-
18
- def new_command_data ( *a, &b )
19
- data = @command_data_class.new(*a, &b)
20
- instance_variables.each do |var|
21
- next if var =~ /command_data_class/
22
- data.send(var[1..-1] + '=', instance_variable_get(var))
23
- end
24
- data
25
- end
26
-
27
- alias :create :new_command_data
28
-
29
- end # class Factory
30
-
31
-
32
-
33
- if $0 == __FILE__
34
- require 'test/unit'
35
-
36
- class FactoryTest < Test::Unit::TestCase
37
-
38
- def setup
39
- assert_nothing_raised { @fa = Factory.new }
40
- end
41
-
42
- def test_0_initialize
43
- end
44
-
45
- def test_new_command_data
46
- assert_nothing_raised do
47
- assert_kind_of(Data, @fa.create)
48
- assert_kind_of(Data, @fa.new_command_data)
49
- end
50
- end
51
-
52
- def test_simple
53
- assert_nothing_raised do
54
- @fa.pid = 42
55
- @data = @fa.create
56
- end
57
- assert_equal(42, @data.pid)
58
- end
59
-
60
- end # class FactoryTest
61
-
62
- end
63
-
64
- end # module Datas
65
-
66
- end # module Commands
@@ -1,66 +0,0 @@
1
- # Author:: Nicolas Pouillard <ertai@lrde.epita.fr>.
2
- # Copyright:: Copyright (c) 2005 Nicolas Pouillard. All rights reserved.
3
- # License:: GNU General Public License (GPL).
4
- # Revision:: $Id: factory.rb 221 2005-05-09 12:40:57Z ertai $
5
-
6
- module Commands
7
-
8
- class Factory < Command
9
-
10
- def initialize
11
- super(nil)
12
- @command_class = Command
13
- end
14
-
15
- def new_command ( *a, &b )
16
- cmd = @command_class.new(*a, &b)
17
- instance_variables.each do |var|
18
- next if var =~ /^@command(_class)?$/
19
- cmd.send(var[1..-1] + '=', instance_variable_get(var))
20
- end
21
- cmd
22
- end
23
-
24
- alias :create :new_command
25
-
26
- end # class Factory
27
-
28
-
29
-
30
- if $0 == __FILE__
31
- require 'test/unit'
32
-
33
- class FactoryTest < Test::Unit::TestCase
34
-
35
- def setup
36
- assert_nothing_raised { @fa = Factory.new }
37
- end
38
-
39
- def test_0_initialize
40
- end
41
-
42
- def test_new_command
43
- assert_nothing_raised do
44
- assert_kind_of(Command, @fa.create('wc'))
45
- assert_kind_of(Command, @fa.new_command('ls'))
46
- end
47
- end
48
-
49
- def test_simple
50
- assert_nothing_raised do
51
- @fa << 42
52
- @fa.input = 'inp'
53
- @fa = @fa > 'out'
54
- @cmd = @fa.create('foo')
55
- end
56
- assert_equal('foo', @cmd.command)
57
- assert_equal(42, @cmd.arg_list.first)
58
- assert_equal('inp', @cmd.input)
59
- assert_equal('out', @cmd.output)
60
- end
61
-
62
- end # class FactoryTest
63
-
64
- end
65
-
66
- end # module Commands
@@ -1,67 +0,0 @@
1
- # Author:: Nicolas Pouillard <ertai@lrde.epita.fr>.
2
- # Copyright:: Copyright (c) 2005 Nicolas Pouillard. All rights reserved.
3
- # License:: GNU General Public License (GPL).
4
- # Revision:: $Id: helpers.rb 221 2005-05-09 12:40:57Z ertai $
5
-
6
- module Commands
7
-
8
- module Helpers
9
-
10
- class ::String
11
-
12
- #
13
- # Make a command from a String.
14
- #
15
- # Split your command when no quotations are used.
16
- #
17
- # Do not touch the String and give as one argument.
18
- def to_cmd
19
- if self =~ /['"`]/
20
- Command.new(self)
21
- else
22
- Command.new(*split(/\s+/))
23
- end
24
- end
25
-
26
- end # class ::String
27
-
28
-
29
-
30
- class ::Array
31
-
32
- def to_cmd
33
- Command.new(*self)
34
- end
35
-
36
- end # class ::Array
37
-
38
- end # module Helpers
39
-
40
-
41
-
42
- if __FILE__ == $0
43
-
44
- require 'test/unit'
45
-
46
- class HelpersTest < Test::Unit::TestCase
47
-
48
- def test_string_to_cmd
49
- assert_equal(['foo', 'bar'], "foo bar".to_cmd.to_a)
50
-
51
- assert_equal(['foo', 'b/ar', 'qu44x32'],
52
- "foo b/ar \t \n qu44x32".to_cmd.to_a)
53
-
54
- s = "foo 'b/ar \t' \n qu44x32"
55
- assert_equal([s], s.to_cmd.to_a)
56
- end
57
-
58
- def test_array_to_cmd
59
- a = ['foo', "b/ar \t", "\n qu44x32"]
60
- assert_equal(a, a.to_cmd.to_a)
61
- end
62
-
63
- end # class HelpersTest
64
-
65
- end
66
-
67
- end # module Commands
@@ -1,64 +0,0 @@
1
- # Author:: Nicolas Pouillard <ertai@lrde.epita.fr>.
2
- # Copyright:: Copyright (c) 2005 Nicolas Pouillard. All rights reserved.
3
- # License:: GNU General Public License (GPL).
4
- # Revision:: $Id: pipe.rb 221 2005-05-09 12:40:57Z ertai $
5
-
6
- module Commands
7
-
8
- class Pipe < Command
9
-
10
- def initialize ( *cmds )
11
- @cmds = cmds.map { |x| x.dup }
12
- end
13
-
14
- def run ( *a )
15
- pids = []
16
- ([nil] + @cmds).zip(@cmds + [nil]).each do |cmd1, cmd2|
17
- next if cmd1.nil? or cmd2.nil?
18
- rd, wr = IO.pipe
19
- cmd1.output = wr
20
- cmd2.input = rd
21
- pids << fork do
22
- rd.close
23
- cmd1.exec
24
- end
25
- wr.close
26
- end
27
- pids << fork do
28
- @cmds.last.exec
29
- end
30
- pids.each { |pid| Process.waitpid pid }
31
- end
32
-
33
- def input= ( arg )
34
- @cmds.first.input = arg
35
- end
36
-
37
- def input
38
- @cmds.first.input
39
- end
40
-
41
- def output= ( arg )
42
- @cmds.last.output = arg
43
- end
44
-
45
- def output
46
- @cmds.last.output
47
- end
48
-
49
- def error= ( arg )
50
- @cmds.last.error = arg
51
- end
52
-
53
- def error
54
- @cmds.last.error
55
- end
56
-
57
- def to_sh
58
- strs = @cmds.map { |cmd| "(#{cmd.to_sh})" }
59
- "(#{strs.join(' | ')})#{sh_args}"
60
- end
61
-
62
- end # class Pipe
63
-
64
- end # module Commands
@@ -1,17 +0,0 @@
1
- # Author:: Nicolas Pouillard <ertai@lrde.epita.fr>.
2
- # Copyright:: Copyright (c) 2005 Nicolas Pouillard. All rights reserved.
3
- # License:: GNU General Public License (GPL).
4
- # Revision:: $Id: runners.rb 221 2005-05-09 12:40:57Z ertai $
5
-
6
- require 'module/autoload_tree'
7
- require 'abstract'
8
- require 'hookable'
9
- require 'hooker'
10
-
11
- module Commands
12
-
13
- module Runners
14
- autoloaded_module(__FILE__)
15
- end # module Runners
16
-
17
- end # module Commands
@@ -1,49 +0,0 @@
1
- # Author:: Nicolas Pouillard <ertai@lrde.epita.fr>.
2
- # Copyright:: Copyright (c) 2005 Nicolas Pouillard. All rights reserved.
3
- # License:: GNU General Public License (GPL).
4
- # Revision:: $Id: exec.rb 221 2005-05-09 12:40:57Z ertai $
5
-
6
- module Commands
7
-
8
- module Runners
9
-
10
- class Exec < Runner
11
- concrete
12
-
13
- def exec ( aCommand, data )
14
- Kernel.exec(*aCommand.to_a)
15
- end
16
-
17
- end # class Exec
18
-
19
-
20
-
21
- if $0 == __FILE__
22
- require 'test/unit'
23
-
24
- class ExecTest < Test::Unit::TestCase
25
-
26
- def setup
27
- assert_nothing_raised { @runner = Exec.new }
28
- end
29
-
30
- def test_0_initialize
31
- end
32
-
33
- def test_simple
34
- TempPath.new do |tmp|
35
- cmd = %Q[ruby -e "File.open('#{tmp}', 'w') { |f| f.puts :foo }"]
36
- pid = fork do
37
- @runner.run(cmd.to_cmd)
38
- end
39
- Process.waitpid pid
40
- end
41
- end
42
-
43
- end # class ExecTest
44
-
45
- end
46
-
47
- end # module Runners
48
-
49
- end # module Commands
@@ -1,97 +0,0 @@
1
- # Author:: Nicolas Pouillard <ertai@lrde.epita.fr>.
2
- # Copyright:: Copyright (c) 2005 Nicolas Pouillard. All rights reserved.
3
- # License:: GNU General Public License (GPL).
4
- # Revision:: $Id: fork.rb 221 2005-05-09 12:40:57Z ertai $
5
-
6
- module Commands
7
-
8
- module Runners
9
-
10
- class Fork < Exec
11
- concrete
12
-
13
- #
14
- # Hooks declaration
15
- #
16
-
17
- hook_declare :exception_raised_during_exec
18
- hook_declare :already_killed
19
- hook_declare :waitpid
20
- hook_declare :son
21
- hook_declare :kill
22
-
23
- #
24
- # Methods
25
- #
26
-
27
- def run_impl ( aCommand, data )
28
- data.pid = Kernel.fork do
29
- begin
30
- hook_trigger :son, aCommand, data
31
- super
32
- rescue Exception => ex
33
- hook_trigger :exception_raised_during_exec, ex
34
- end
35
- end
36
- hook_trigger :waitpid, data
37
- end
38
-
39
-
40
- def abort ( data )
41
- if data.pid
42
- begin
43
- hook_trigger :kill, data
44
- hook_trigger :waitpid, data
45
- rescue Errno::ESRCH
46
- hook_trigger :already_killed, data.pid
47
- end
48
- end
49
- super
50
- end
51
-
52
-
53
- def waitpid ( data )
54
- Process.waitpid(data.pid)
55
- data.status = $?
56
- end
57
-
58
-
59
- def exception_raised_during_exec ( anException )
60
- exit! 127
61
- end
62
-
63
-
64
- def kill ( data )
65
- Process.kill('-KILL', -data.pid)
66
- end
67
-
68
- end # class Fork
69
-
70
-
71
-
72
- if $0 == __FILE__
73
- require 'test/unit'
74
-
75
- class ForkTest < Test::Unit::TestCase
76
-
77
- def setup
78
- assert_nothing_raised { @runner = Fork.new }
79
- end
80
-
81
- def test_0_initialize
82
- end
83
-
84
- def test_simple
85
- TempPath.new do |tmp|
86
- cmd = %Q[ruby -e "File.open('#{tmp}', 'w') { |f| f.puts :foo }"]
87
- @runner.run(cmd.to_cmd)
88
- end
89
- end
90
-
91
- end # class Fork
92
-
93
- end
94
-
95
- end # module Runners
96
-
97
- end # module Commands