capistrano-edge 2.5.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 (109) hide show
  1. data/CHANGELOG.rdoc +770 -0
  2. data/Manifest +104 -0
  3. data/README.rdoc +66 -0
  4. data/Rakefile +35 -0
  5. data/bin/cap +4 -0
  6. data/bin/capify +95 -0
  7. data/capistrano.gemspec +51 -0
  8. data/examples/sample.rb +14 -0
  9. data/lib/capistrano.rb +2 -0
  10. data/lib/capistrano/callback.rb +45 -0
  11. data/lib/capistrano/cli.rb +47 -0
  12. data/lib/capistrano/cli/execute.rb +84 -0
  13. data/lib/capistrano/cli/help.rb +125 -0
  14. data/lib/capistrano/cli/help.txt +75 -0
  15. data/lib/capistrano/cli/options.rb +224 -0
  16. data/lib/capistrano/cli/ui.rb +40 -0
  17. data/lib/capistrano/command.rb +283 -0
  18. data/lib/capistrano/configuration.rb +43 -0
  19. data/lib/capistrano/configuration/actions/file_transfer.rb +47 -0
  20. data/lib/capistrano/configuration/actions/inspect.rb +46 -0
  21. data/lib/capistrano/configuration/actions/invocation.rb +293 -0
  22. data/lib/capistrano/configuration/callbacks.rb +148 -0
  23. data/lib/capistrano/configuration/connections.rb +204 -0
  24. data/lib/capistrano/configuration/execution.rb +143 -0
  25. data/lib/capistrano/configuration/loading.rb +197 -0
  26. data/lib/capistrano/configuration/namespaces.rb +197 -0
  27. data/lib/capistrano/configuration/roles.rb +73 -0
  28. data/lib/capistrano/configuration/servers.rb +85 -0
  29. data/lib/capistrano/configuration/variables.rb +127 -0
  30. data/lib/capistrano/errors.rb +15 -0
  31. data/lib/capistrano/extensions.rb +57 -0
  32. data/lib/capistrano/logger.rb +59 -0
  33. data/lib/capistrano/processable.rb +53 -0
  34. data/lib/capistrano/recipes/compat.rb +32 -0
  35. data/lib/capistrano/recipes/deploy.rb +438 -0
  36. data/lib/capistrano/recipes/deploy/dependencies.rb +44 -0
  37. data/lib/capistrano/recipes/deploy/local_dependency.rb +54 -0
  38. data/lib/capistrano/recipes/deploy/remote_dependency.rb +105 -0
  39. data/lib/capistrano/recipes/deploy/scm.rb +19 -0
  40. data/lib/capistrano/recipes/deploy/scm/accurev.rb +169 -0
  41. data/lib/capistrano/recipes/deploy/scm/base.rb +196 -0
  42. data/lib/capistrano/recipes/deploy/scm/bzr.rb +83 -0
  43. data/lib/capistrano/recipes/deploy/scm/cvs.rb +152 -0
  44. data/lib/capistrano/recipes/deploy/scm/darcs.rb +85 -0
  45. data/lib/capistrano/recipes/deploy/scm/git.rb +274 -0
  46. data/lib/capistrano/recipes/deploy/scm/mercurial.rb +137 -0
  47. data/lib/capistrano/recipes/deploy/scm/none.rb +44 -0
  48. data/lib/capistrano/recipes/deploy/scm/perforce.rb +138 -0
  49. data/lib/capistrano/recipes/deploy/scm/subversion.rb +121 -0
  50. data/lib/capistrano/recipes/deploy/strategy.rb +19 -0
  51. data/lib/capistrano/recipes/deploy/strategy/base.rb +79 -0
  52. data/lib/capistrano/recipes/deploy/strategy/checkout.rb +20 -0
  53. data/lib/capistrano/recipes/deploy/strategy/copy.rb +210 -0
  54. data/lib/capistrano/recipes/deploy/strategy/export.rb +20 -0
  55. data/lib/capistrano/recipes/deploy/strategy/remote.rb +52 -0
  56. data/lib/capistrano/recipes/deploy/strategy/remote_cache.rb +56 -0
  57. data/lib/capistrano/recipes/deploy/templates/maintenance.rhtml +53 -0
  58. data/lib/capistrano/recipes/ext/rails-database-migrations.rb +50 -0
  59. data/lib/capistrano/recipes/ext/web-disable-enable.rb +40 -0
  60. data/lib/capistrano/recipes/standard.rb +37 -0
  61. data/lib/capistrano/recipes/templates/maintenance.rhtml +53 -0
  62. data/lib/capistrano/recipes/upgrade.rb +33 -0
  63. data/lib/capistrano/role.rb +102 -0
  64. data/lib/capistrano/server_definition.rb +56 -0
  65. data/lib/capistrano/shell.rb +260 -0
  66. data/lib/capistrano/ssh.rb +99 -0
  67. data/lib/capistrano/task_definition.rb +70 -0
  68. data/lib/capistrano/transfer.rb +216 -0
  69. data/lib/capistrano/version.rb +18 -0
  70. data/setup.rb +1346 -0
  71. data/test/cli/execute_test.rb +132 -0
  72. data/test/cli/help_test.rb +165 -0
  73. data/test/cli/options_test.rb +317 -0
  74. data/test/cli/ui_test.rb +28 -0
  75. data/test/cli_test.rb +17 -0
  76. data/test/command_test.rb +286 -0
  77. data/test/configuration/actions/file_transfer_test.rb +61 -0
  78. data/test/configuration/actions/inspect_test.rb +65 -0
  79. data/test/configuration/actions/invocation_test.rb +224 -0
  80. data/test/configuration/callbacks_test.rb +220 -0
  81. data/test/configuration/connections_test.rb +349 -0
  82. data/test/configuration/execution_test.rb +175 -0
  83. data/test/configuration/loading_test.rb +132 -0
  84. data/test/configuration/namespace_dsl_test.rb +311 -0
  85. data/test/configuration/roles_test.rb +144 -0
  86. data/test/configuration/servers_test.rb +121 -0
  87. data/test/configuration/variables_test.rb +184 -0
  88. data/test/configuration_test.rb +88 -0
  89. data/test/deploy/local_dependency_test.rb +76 -0
  90. data/test/deploy/remote_dependency_test.rb +114 -0
  91. data/test/deploy/scm/accurev_test.rb +23 -0
  92. data/test/deploy/scm/base_test.rb +55 -0
  93. data/test/deploy/scm/git_test.rb +184 -0
  94. data/test/deploy/scm/mercurial_test.rb +129 -0
  95. data/test/deploy/scm/none_test.rb +35 -0
  96. data/test/deploy/strategy/copy_test.rb +258 -0
  97. data/test/extensions_test.rb +69 -0
  98. data/test/fixtures/cli_integration.rb +5 -0
  99. data/test/fixtures/config.rb +5 -0
  100. data/test/fixtures/custom.rb +3 -0
  101. data/test/logger_test.rb +123 -0
  102. data/test/role_test.rb +11 -0
  103. data/test/server_definition_test.rb +121 -0
  104. data/test/shell_test.rb +90 -0
  105. data/test/ssh_test.rb +104 -0
  106. data/test/task_definition_test.rb +101 -0
  107. data/test/transfer_test.rb +160 -0
  108. data/test/utils.rb +38 -0
  109. metadata +321 -0
@@ -0,0 +1,101 @@
1
+ require "utils"
2
+ require 'capistrano/task_definition'
3
+
4
+ class TaskDefinitionTest < Test::Unit::TestCase
5
+ def setup
6
+ @namespace = namespace
7
+ end
8
+
9
+ def test_fqn_at_top_level_should_be_task_name
10
+ task = new_task(:testing)
11
+ assert_equal "testing", task.fully_qualified_name
12
+ end
13
+
14
+ def test_fqn_in_namespace_should_include_namespace_fqn
15
+ ns = namespace("outer:inner")
16
+ task = new_task(:testing, ns)
17
+ assert_equal "outer:inner:testing", task.fully_qualified_name
18
+ end
19
+
20
+ def test_fqn_at_top_level_when_default_should_be_default
21
+ task = new_task(:default)
22
+ assert_equal "default", task.fully_qualified_name
23
+ end
24
+
25
+ def test_fqn_in_namespace_when_default_should_be_namespace_fqn
26
+ ns = namespace("outer:inner")
27
+ task = new_task(:default, ns)
28
+ ns.stubs(:default_task => task)
29
+ assert_equal "outer:inner", task.fully_qualified_name
30
+ end
31
+
32
+ def test_task_should_require_block
33
+ assert_raises(ArgumentError) do
34
+ Capistrano::TaskDefinition.new(:testing, @namespace)
35
+ end
36
+ end
37
+
38
+ def test_description_should_return_empty_string_if_not_given
39
+ assert_equal "", new_task(:testing).description
40
+ end
41
+
42
+ def test_description_should_return_desc_attribute
43
+ assert_equal "something", new_task(:testing, @namespace, :desc => "something").description
44
+ end
45
+
46
+ def test_description_should_strip_leading_and_trailing_whitespace
47
+ assert_equal "something", new_task(:testing, @namespace, :desc => " something ").description
48
+ end
49
+
50
+ def test_description_should_normalize_newlines
51
+ assert_equal "a\nb\nc", new_task(:testing, @namespace, :desc => "a\nb\r\nc").description
52
+ end
53
+
54
+ def test_description_should_detect_and_remove_indentation
55
+ desc = <<-DESC
56
+ Here is some indented text \
57
+ and I want all of this to \
58
+ run together on a single line, \
59
+ without any extraneous spaces.
60
+
61
+ additional indentation will
62
+ be preserved.
63
+ DESC
64
+
65
+ task = new_task(:testing, @namespace, :desc => desc)
66
+ assert_equal "Here is some indented text and I want all of this to run together on a single line, without any extraneous spaces.\n\n additional indentation will\n be preserved.", task.description
67
+ end
68
+
69
+ def test_description_munging_should_be_sensitive_to_code_blocks
70
+ desc = <<-DESC
71
+ Here is a line \
72
+ wrapped with spacing in it.
73
+
74
+ foo bar
75
+ baz bang
76
+ DESC
77
+
78
+ task = new_task(:testing, @namespace, :desc => desc)
79
+ assert_equal "Here is a line wrapped with spacing in it.\n\n foo bar\n baz bang", task.description
80
+ end
81
+
82
+ def test_brief_description_should_return_first_sentence_in_description
83
+ desc = "This is the task. It does all kinds of things."
84
+ task = new_task(:testing, @namespace, :desc => desc)
85
+ assert_equal "This is the task.", task.brief_description
86
+ end
87
+
88
+ def test_brief_description_should_truncate_if_length_given
89
+ desc = "This is the task that does all kinds of things. And then some."
90
+ task = new_task(:testing, @namespace, :desc => desc)
91
+ assert_equal "This is the task ...", task.brief_description(20)
92
+ end
93
+
94
+ def test_brief_description_should_not_break_at_period_in_middle_of_sentence
95
+ task = new_task(:testing, @namespace, :desc => "Take file.txt and copy it.")
96
+ assert_equal "Take file.txt and copy it.", task.brief_description
97
+
98
+ task = new_task(:testing, @namespace, :desc => "Take file.txt and copy it. Then do something else.")
99
+ assert_equal "Take file.txt and copy it.", task.brief_description
100
+ end
101
+ end
@@ -0,0 +1,160 @@
1
+ require 'utils'
2
+ require 'capistrano/transfer'
3
+
4
+ class TransferTest < Test::Unit::TestCase
5
+ def test_class_process_should_delegate_to_instance_process
6
+ Capistrano::Transfer.expects(:new).with(:up, "from", "to", %w(a b c), {}).returns(mock('transfer', :process! => nil)).yields
7
+ yielded = false
8
+ Capistrano::Transfer.process(:up, "from", "to", %w(a b c), {}) { yielded = true }
9
+ assert yielded
10
+ end
11
+
12
+ def test_default_transport_is_sftp
13
+ transfer = Capistrano::Transfer.new(:up, "from", "to", [])
14
+ assert_equal :sftp, transfer.transport
15
+ end
16
+
17
+ def test_active_is_true_when_any_sftp_transfers_are_active
18
+ returns = [false, false, true]
19
+ sessions = [session('app1', :sftp), session('app2', :sftp), session('app3', :sftp)].each { |s| s.xsftp.expects(:upload).returns(stub('operation', :active? => returns.shift)) }
20
+ transfer = Capistrano::Transfer.new(:up, "from", "to", sessions, :via => :sftp)
21
+ assert_equal true, transfer.active?
22
+ end
23
+
24
+ def test_active_is_false_when_all_sftp_transfers_are_not_active
25
+ sessions = [session('app1', :sftp), session('app2', :sftp)].each { |s| s.xsftp.expects(:upload).returns(stub('operation', :active? => false)) }
26
+ transfer = Capistrano::Transfer.new(:up, "from", "to", sessions, :via => :sftp)
27
+ assert_equal false, transfer.active?
28
+ end
29
+
30
+ def test_active_is_true_when_any_scp_transfers_are_active
31
+ returns = [false, false, true]
32
+ sessions = [session('app1', :scp), session('app2', :scp), session('app3', :scp)].each do |s|
33
+ channel = stub('channel', :[]= => nil, :active? => returns.shift)
34
+ s.scp.expects(:upload).returns(channel)
35
+ end
36
+ transfer = Capistrano::Transfer.new(:up, "from", "to", sessions, :via => :scp)
37
+ assert_equal true, transfer.active?
38
+ end
39
+
40
+ def test_active_is_false_when_all_scp_transfers_are_not_active
41
+ sessions = [session('app1', :scp), session('app2', :scp), session('app3', :scp)].each do |s|
42
+ channel = stub('channel', :[]= => nil, :active? => false)
43
+ s.scp.expects(:upload).returns(channel)
44
+ end
45
+ transfer = Capistrano::Transfer.new(:up, "from", "to", sessions, :via => :scp)
46
+ assert_equal false, transfer.active?
47
+ end
48
+
49
+ [:up, :down].each do |direction|
50
+ define_method("test_sftp_#{direction}load_from_file_to_file_should_normalize_from_and_to") do
51
+ sessions = [session('app1', :sftp), session('app2', :sftp)]
52
+
53
+ sessions.each do |session|
54
+ session.xsftp.expects("#{direction}load".to_sym).with("from-#{session.xserver.host}", "to-#{session.xserver.host}",
55
+ :properties => { :server => session.xserver, :host => session.xserver.host })
56
+ end
57
+
58
+ transfer = Capistrano::Transfer.new(direction, "from-$CAPISTRANO:HOST$", "to-$CAPISTRANO:HOST$", sessions)
59
+ end
60
+
61
+ define_method("test_scp_#{direction}load_from_file_to_file_should_normalize_from_and_to") do
62
+ sessions = [session('app1', :scp), session('app2', :scp)]
63
+
64
+ sessions.each do |session|
65
+ session.scp.expects("#{direction}load".to_sym).returns({}).with("from-#{session.xserver.host}", "to-#{session.xserver.host}", :via => :scp)
66
+ end
67
+
68
+ transfer = Capistrano::Transfer.new(direction, "from-$CAPISTRANO:HOST$", "to-$CAPISTRANO:HOST$", sessions, :via => :scp)
69
+ end
70
+ end
71
+
72
+ def test_sftp_upload_from_IO_to_file_should_clone_the_IO_for_each_connection
73
+ sessions = [session('app1', :sftp), session('app2', :sftp)]
74
+ io = StringIO.new("from here")
75
+
76
+ sessions.each do |session|
77
+ session.xsftp.expects(:upload).with do |from, to, opts|
78
+ from != io && from.is_a?(StringIO) && from.string == io.string &&
79
+ to == "/to/here-#{session.xserver.host}" &&
80
+ opts[:properties][:server] == session.xserver &&
81
+ opts[:properties][:host] == session.xserver.host
82
+ end
83
+ end
84
+
85
+ transfer = Capistrano::Transfer.new(:up, StringIO.new("from here"), "/to/here-$CAPISTRANO:HOST$", sessions)
86
+ end
87
+
88
+ def test_scp_upload_from_IO_to_file_should_clone_the_IO_for_each_connection
89
+ sessions = [session('app1', :scp), session('app2', :scp)]
90
+ io = StringIO.new("from here")
91
+
92
+ sessions.each do |session|
93
+ channel = mock('channel')
94
+ channel.expects(:[]=).with(:server, session.xserver)
95
+ channel.expects(:[]=).with(:host, session.xserver.host)
96
+ session.scp.expects(:upload).returns(channel).with do |from, to, opts|
97
+ from != io && from.is_a?(StringIO) && from.string == io.string &&
98
+ to == "/to/here-#{session.xserver.host}"
99
+ end
100
+ end
101
+
102
+ transfer = Capistrano::Transfer.new(:up, StringIO.new("from here"), "/to/here-$CAPISTRANO:HOST$", sessions, :via => :scp)
103
+ end
104
+
105
+ def test_process_should_block_until_transfer_is_no_longer_active
106
+ transfer = Capistrano::Transfer.new(:up, "from", "to", [])
107
+ transfer.expects(:process_iteration).times(4).yields.returns(true,true,true,false)
108
+ transfer.expects(:active?).times(4)
109
+ transfer.process!
110
+ end
111
+
112
+ def test_errors_raised_for_a_sftp_session_should_abort_session_and_continue_with_remaining_sessions
113
+ s = session('app1')
114
+ error = ExceptionWithSession.new(s)
115
+ transfer = Capistrano::Transfer.new(:up, "from", "to", [])
116
+ transfer.expects(:process_iteration).raises(error).times(3).returns(true, false)
117
+ txfr = mock('transfer', :abort! => true)
118
+ txfr.expects(:[]=).with(:failed, true)
119
+ txfr.expects(:[]=).with(:error, error)
120
+ transfer.expects(:session_map).returns(s => txfr)
121
+ transfer.process!
122
+ end
123
+
124
+ def test_errors_raised_for_a_scp_session_should_abort_session_and_continue_with_remaining_sessions
125
+ s = session('app1')
126
+ error = ExceptionWithSession.new(s)
127
+ transfer = Capistrano::Transfer.new(:up, "from", "to", [], :via => :scp)
128
+ transfer.expects(:process_iteration).raises(error).times(3).returns(true, false)
129
+ txfr = mock('channel', :close => true)
130
+ txfr.expects(:[]=).with(:failed, true)
131
+ txfr.expects(:[]=).with(:error, error)
132
+ transfer.expects(:session_map).returns(s => txfr)
133
+ transfer.process!
134
+ end
135
+
136
+ private
137
+
138
+ class ExceptionWithSession < ::Exception
139
+ attr_reader :session
140
+
141
+ def initialize(session)
142
+ @session = session
143
+ super()
144
+ end
145
+ end
146
+
147
+ def session(host, mode=nil)
148
+ session = stub('session', :xserver => stub('server', :host => host))
149
+ case mode
150
+ when :sftp
151
+ sftp = stub('sftp')
152
+ session.expects(:sftp).with(false).returns(sftp)
153
+ sftp.expects(:connect).yields(sftp).returns(sftp)
154
+ session.stubs(:xsftp).returns(sftp)
155
+ when :scp
156
+ session.stubs(:scp).returns(stub('scp'))
157
+ end
158
+ session
159
+ end
160
+ end
@@ -0,0 +1,38 @@
1
+ begin
2
+ require 'rubygems'
3
+ gem 'mocha'
4
+ rescue LoadError
5
+ end
6
+
7
+ require 'test/unit'
8
+ require 'mocha'
9
+ require 'capistrano/server_definition'
10
+
11
+ module TestExtensions
12
+ def server(host, options={})
13
+ Capistrano::ServerDefinition.new(host, options)
14
+ end
15
+
16
+ def namespace(fqn=nil)
17
+ space = stub(:roles => {}, :fully_qualified_name => fqn, :default_task => nil)
18
+ yield(space) if block_given?
19
+ space
20
+ end
21
+
22
+ def role(space, name, *args)
23
+ opts = args.last.is_a?(Hash) ? args.pop : {}
24
+ space.roles[name] ||= []
25
+ space.roles[name].concat(args.map { |h| Capistrano::ServerDefinition.new(h, opts) })
26
+ end
27
+
28
+ def new_task(name, namespace=@namespace, options={}, &block)
29
+ block ||= Proc.new {}
30
+ task = Capistrano::TaskDefinition.new(name, namespace, options, &block)
31
+ assert_equal block, task.body
32
+ return task
33
+ end
34
+ end
35
+
36
+ class Test::Unit::TestCase
37
+ include TestExtensions
38
+ end
metadata ADDED
@@ -0,0 +1,321 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: capistrano-edge
3
+ version: !ruby/object:Gem::Version
4
+ version: 2.5.6
5
+ platform: ruby
6
+ authors:
7
+ - Jamis Buck
8
+ - Lee Hambley
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+
13
+ date: 2009-02-24 00:00:00 +00:00
14
+ default_executable:
15
+ dependencies:
16
+ - !ruby/object:Gem::Dependency
17
+ name: net-ssh
18
+ type: :runtime
19
+ version_requirement:
20
+ version_requirements: !ruby/object:Gem::Requirement
21
+ requirements:
22
+ - - ">="
23
+ - !ruby/object:Gem::Version
24
+ version: 2.0.10
25
+ version:
26
+ - !ruby/object:Gem::Dependency
27
+ name: net-sftp
28
+ type: :runtime
29
+ version_requirement:
30
+ version_requirements: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - ">="
33
+ - !ruby/object:Gem::Version
34
+ version: 2.0.0
35
+ version:
36
+ - !ruby/object:Gem::Dependency
37
+ name: net-scp
38
+ type: :runtime
39
+ version_requirement:
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ requirements:
42
+ - - ">="
43
+ - !ruby/object:Gem::Version
44
+ version: 1.0.0
45
+ version:
46
+ - !ruby/object:Gem::Dependency
47
+ name: net-ssh-gateway
48
+ type: :runtime
49
+ version_requirement:
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: 1.0.0
55
+ version:
56
+ - !ruby/object:Gem::Dependency
57
+ name: highline
58
+ type: :runtime
59
+ version_requirement:
60
+ version_requirements: !ruby/object:Gem::Requirement
61
+ requirements:
62
+ - - ">="
63
+ - !ruby/object:Gem::Version
64
+ version: "0"
65
+ version:
66
+ - !ruby/object:Gem::Dependency
67
+ name: echoe
68
+ type: :development
69
+ version_requirement:
70
+ version_requirements: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - ">="
73
+ - !ruby/object:Gem::Version
74
+ version: "0"
75
+ version:
76
+ description: Capistrano is a utility and framework for executing commands in parallel on multiple remote machines, via SSH.
77
+ email: jamis@jamisbuck.org
78
+ executables:
79
+ - cap
80
+ - capify
81
+ extensions: []
82
+
83
+ extra_rdoc_files:
84
+ - CHANGELOG.rdoc
85
+ - lib/capistrano/callback.rb
86
+ - lib/capistrano/cli/execute.rb
87
+ - lib/capistrano/cli/help.rb
88
+ - lib/capistrano/cli/help.txt
89
+ - lib/capistrano/cli/options.rb
90
+ - lib/capistrano/cli/ui.rb
91
+ - lib/capistrano/cli.rb
92
+ - lib/capistrano/command.rb
93
+ - lib/capistrano/configuration/actions/file_transfer.rb
94
+ - lib/capistrano/configuration/actions/inspect.rb
95
+ - lib/capistrano/configuration/actions/invocation.rb
96
+ - lib/capistrano/configuration/callbacks.rb
97
+ - lib/capistrano/configuration/connections.rb
98
+ - lib/capistrano/configuration/execution.rb
99
+ - lib/capistrano/configuration/loading.rb
100
+ - lib/capistrano/configuration/namespaces.rb
101
+ - lib/capistrano/configuration/roles.rb
102
+ - lib/capistrano/configuration/servers.rb
103
+ - lib/capistrano/configuration/variables.rb
104
+ - lib/capistrano/configuration.rb
105
+ - lib/capistrano/errors.rb
106
+ - lib/capistrano/extensions.rb
107
+ - lib/capistrano/logger.rb
108
+ - lib/capistrano/processable.rb
109
+ - lib/capistrano/recipes/compat.rb
110
+ - lib/capistrano/recipes/deploy/dependencies.rb
111
+ - lib/capistrano/recipes/deploy/local_dependency.rb
112
+ - lib/capistrano/recipes/deploy/remote_dependency.rb
113
+ - lib/capistrano/recipes/deploy/scm/accurev.rb
114
+ - lib/capistrano/recipes/deploy/scm/base.rb
115
+ - lib/capistrano/recipes/deploy/scm/bzr.rb
116
+ - lib/capistrano/recipes/deploy/scm/cvs.rb
117
+ - lib/capistrano/recipes/deploy/scm/darcs.rb
118
+ - lib/capistrano/recipes/deploy/scm/git.rb
119
+ - lib/capistrano/recipes/deploy/scm/mercurial.rb
120
+ - lib/capistrano/recipes/deploy/scm/none.rb
121
+ - lib/capistrano/recipes/deploy/scm/perforce.rb
122
+ - lib/capistrano/recipes/deploy/scm/subversion.rb
123
+ - lib/capistrano/recipes/deploy/scm.rb
124
+ - lib/capistrano/recipes/deploy/strategy/base.rb
125
+ - lib/capistrano/recipes/deploy/strategy/checkout.rb
126
+ - lib/capistrano/recipes/deploy/strategy/copy.rb
127
+ - lib/capistrano/recipes/deploy/strategy/export.rb
128
+ - lib/capistrano/recipes/deploy/strategy/remote.rb
129
+ - lib/capistrano/recipes/deploy/strategy/remote_cache.rb
130
+ - lib/capistrano/recipes/deploy/strategy.rb
131
+ - lib/capistrano/recipes/deploy/templates/maintenance.rhtml
132
+ - lib/capistrano/recipes/deploy.rb
133
+ - lib/capistrano/recipes/standard.rb
134
+ - lib/capistrano/recipes/templates/maintenance.rhtml
135
+ - lib/capistrano/recipes/upgrade.rb
136
+ - lib/capistrano/role.rb
137
+ - lib/capistrano/server_definition.rb
138
+ - lib/capistrano/shell.rb
139
+ - lib/capistrano/ssh.rb
140
+ - lib/capistrano/task_definition.rb
141
+ - lib/capistrano/transfer.rb
142
+ - lib/capistrano/version.rb
143
+ - lib/capistrano.rb
144
+ - README.rdoc
145
+ files:
146
+ - bin/cap
147
+ - bin/capify
148
+ - CHANGELOG.rdoc
149
+ - examples/sample.rb
150
+ - lib/capistrano/callback.rb
151
+ - lib/capistrano/cli/execute.rb
152
+ - lib/capistrano/cli/help.rb
153
+ - lib/capistrano/cli/help.txt
154
+ - lib/capistrano/cli/options.rb
155
+ - lib/capistrano/cli/ui.rb
156
+ - lib/capistrano/cli.rb
157
+ - lib/capistrano/command.rb
158
+ - lib/capistrano/configuration/actions/file_transfer.rb
159
+ - lib/capistrano/configuration/actions/inspect.rb
160
+ - lib/capistrano/configuration/actions/invocation.rb
161
+ - lib/capistrano/configuration/callbacks.rb
162
+ - lib/capistrano/configuration/connections.rb
163
+ - lib/capistrano/configuration/execution.rb
164
+ - lib/capistrano/configuration/loading.rb
165
+ - lib/capistrano/configuration/namespaces.rb
166
+ - lib/capistrano/configuration/roles.rb
167
+ - lib/capistrano/configuration/servers.rb
168
+ - lib/capistrano/configuration/variables.rb
169
+ - lib/capistrano/configuration.rb
170
+ - lib/capistrano/errors.rb
171
+ - lib/capistrano/extensions.rb
172
+ - lib/capistrano/logger.rb
173
+ - lib/capistrano/processable.rb
174
+ - lib/capistrano/recipes/compat.rb
175
+ - lib/capistrano/recipes/deploy/dependencies.rb
176
+ - lib/capistrano/recipes/deploy/local_dependency.rb
177
+ - lib/capistrano/recipes/deploy/remote_dependency.rb
178
+ - lib/capistrano/recipes/deploy/scm/accurev.rb
179
+ - lib/capistrano/recipes/deploy/scm/base.rb
180
+ - lib/capistrano/recipes/deploy/scm/bzr.rb
181
+ - lib/capistrano/recipes/deploy/scm/cvs.rb
182
+ - lib/capistrano/recipes/deploy/scm/darcs.rb
183
+ - lib/capistrano/recipes/deploy/scm/git.rb
184
+ - lib/capistrano/recipes/deploy/scm/mercurial.rb
185
+ - lib/capistrano/recipes/deploy/scm/none.rb
186
+ - lib/capistrano/recipes/deploy/scm/perforce.rb
187
+ - lib/capistrano/recipes/deploy/scm/subversion.rb
188
+ - lib/capistrano/recipes/deploy/scm.rb
189
+ - lib/capistrano/recipes/deploy/strategy/base.rb
190
+ - lib/capistrano/recipes/deploy/strategy/checkout.rb
191
+ - lib/capistrano/recipes/deploy/strategy/copy.rb
192
+ - lib/capistrano/recipes/deploy/strategy/export.rb
193
+ - lib/capistrano/recipes/deploy/strategy/remote.rb
194
+ - lib/capistrano/recipes/deploy/strategy/remote_cache.rb
195
+ - lib/capistrano/recipes/deploy/strategy.rb
196
+ - lib/capistrano/recipes/deploy/templates/maintenance.rhtml
197
+ - lib/capistrano/recipes/deploy.rb
198
+ - lib/capistrano/recipes/ext/rails-database-migrations.rb
199
+ - lib/capistrano/recipes/ext/web-disable-enable.rb
200
+ - lib/capistrano/recipes/standard.rb
201
+ - lib/capistrano/recipes/templates/maintenance.rhtml
202
+ - lib/capistrano/recipes/upgrade.rb
203
+ - lib/capistrano/role.rb
204
+ - lib/capistrano/server_definition.rb
205
+ - lib/capistrano/shell.rb
206
+ - lib/capistrano/ssh.rb
207
+ - lib/capistrano/task_definition.rb
208
+ - lib/capistrano/transfer.rb
209
+ - lib/capistrano/version.rb
210
+ - lib/capistrano.rb
211
+ - Rakefile
212
+ - README.rdoc
213
+ - setup.rb
214
+ - test/cli/execute_test.rb
215
+ - test/cli/help_test.rb
216
+ - test/cli/options_test.rb
217
+ - test/cli/ui_test.rb
218
+ - test/cli_test.rb
219
+ - test/command_test.rb
220
+ - test/configuration/actions/file_transfer_test.rb
221
+ - test/configuration/actions/inspect_test.rb
222
+ - test/configuration/actions/invocation_test.rb
223
+ - test/configuration/callbacks_test.rb
224
+ - test/configuration/connections_test.rb
225
+ - test/configuration/execution_test.rb
226
+ - test/configuration/loading_test.rb
227
+ - test/configuration/namespace_dsl_test.rb
228
+ - test/configuration/roles_test.rb
229
+ - test/configuration/servers_test.rb
230
+ - test/configuration/variables_test.rb
231
+ - test/configuration_test.rb
232
+ - test/deploy/local_dependency_test.rb
233
+ - test/deploy/remote_dependency_test.rb
234
+ - test/deploy/scm/accurev_test.rb
235
+ - test/deploy/scm/base_test.rb
236
+ - test/deploy/scm/git_test.rb
237
+ - test/deploy/scm/mercurial_test.rb
238
+ - test/deploy/strategy/copy_test.rb
239
+ - test/extensions_test.rb
240
+ - test/fixtures/cli_integration.rb
241
+ - test/fixtures/config.rb
242
+ - test/fixtures/custom.rb
243
+ - test/logger_test.rb
244
+ - test/role_test.rb
245
+ - test/server_definition_test.rb
246
+ - test/shell_test.rb
247
+ - test/ssh_test.rb
248
+ - test/task_definition_test.rb
249
+ - test/transfer_test.rb
250
+ - test/utils.rb
251
+ - Manifest
252
+ - capistrano.gemspec
253
+ - test/deploy/scm/none_test.rb
254
+ has_rdoc: true
255
+ homepage: http://www.capify.org
256
+ licenses: []
257
+
258
+ post_install_message:
259
+ rdoc_options:
260
+ - --line-numbers
261
+ - --inline-source
262
+ - --title
263
+ - Capistrano
264
+ - --main
265
+ - README.rdoc
266
+ require_paths:
267
+ - lib
268
+ required_ruby_version: !ruby/object:Gem::Requirement
269
+ requirements:
270
+ - - ">="
271
+ - !ruby/object:Gem::Version
272
+ version: "0"
273
+ version:
274
+ required_rubygems_version: !ruby/object:Gem::Requirement
275
+ requirements:
276
+ - - ">="
277
+ - !ruby/object:Gem::Version
278
+ version: "1.2"
279
+ version:
280
+ requirements: []
281
+
282
+ rubyforge_project: capistrano-edge
283
+ rubygems_version: 1.3.3
284
+ signing_key:
285
+ specification_version: 2
286
+ summary: Capistrano is a utility and framework for executing commands in parallel on multiple remote machines, via SSH.
287
+ test_files:
288
+ - test/cli/execute_test.rb
289
+ - test/cli/help_test.rb
290
+ - test/cli/options_test.rb
291
+ - test/cli/ui_test.rb
292
+ - test/cli_test.rb
293
+ - test/command_test.rb
294
+ - test/configuration/actions/file_transfer_test.rb
295
+ - test/configuration/actions/inspect_test.rb
296
+ - test/configuration/actions/invocation_test.rb
297
+ - test/configuration/callbacks_test.rb
298
+ - test/configuration/connections_test.rb
299
+ - test/configuration/execution_test.rb
300
+ - test/configuration/loading_test.rb
301
+ - test/configuration/namespace_dsl_test.rb
302
+ - test/configuration/roles_test.rb
303
+ - test/configuration/servers_test.rb
304
+ - test/configuration/variables_test.rb
305
+ - test/configuration_test.rb
306
+ - test/deploy/local_dependency_test.rb
307
+ - test/deploy/remote_dependency_test.rb
308
+ - test/deploy/scm/accurev_test.rb
309
+ - test/deploy/scm/base_test.rb
310
+ - test/deploy/scm/git_test.rb
311
+ - test/deploy/scm/mercurial_test.rb
312
+ - test/deploy/scm/none_test.rb
313
+ - test/deploy/strategy/copy_test.rb
314
+ - test/extensions_test.rb
315
+ - test/logger_test.rb
316
+ - test/role_test.rb
317
+ - test/server_definition_test.rb
318
+ - test/shell_test.rb
319
+ - test/ssh_test.rb
320
+ - test/task_definition_test.rb
321
+ - test/transfer_test.rb