capistrano 3.12.0 → 3.15.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.
- checksums.yaml +4 -4
 - data/.github/pull_request_template.md +0 -4
 - data/.travis.yml +8 -6
 - data/Gemfile +7 -2
 - data/README.md +1 -1
 - data/features/step_definitions/assertions.rb +1 -1
 - data/lib/capistrano/configuration/question.rb +9 -1
 - data/lib/capistrano/dsl.rb +1 -1
 - data/lib/capistrano/i18n.rb +2 -0
 - data/lib/capistrano/scm/git.rb +5 -5
 - data/lib/capistrano/scm/tasks/git.rake +1 -1
 - data/lib/capistrano/templates/stage.rb.erb +1 -1
 - data/lib/capistrano/version.rb +1 -1
 - data/spec/lib/capistrano/configuration/question_spec.rb +18 -0
 - data/spec/lib/capistrano/scm/git_spec.rb +3 -6
 - data/spec/support/test_app.rb +8 -3
 - metadata +6 -6
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA256:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: 3f0b8e22a26ba92d6cf7d062d7b1fd2571add774ff9522a8282080e25e0c885a
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: 822a124b873390bd677370e4194103c94e756e0422feb1de5f3bdd0553a85315
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: fa22266dc215f03041ba72b0b36a2dc88df951fea9426912c2aa34f8683daa622f0acffeb801768ed0cc82571eeebfd9bce11e0f6708b997f44d446d10d53ba4
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: 338e679cf1601854f6d5f2f692693550fbd7d46d94add967df47770f830926bf55c170e09b748076b330f53f305be1dec990139c49b8a0a4c43527e573d9a9da
         
     | 
| 
         @@ -13,14 +13,10 @@ to keep the conversation linked together. 
     | 
|
| 
       13 
13 
     | 
    
         
             
            - [ ] Did you run `bundle exec rubocop -a` to fix linter issues?
         
     | 
| 
       14 
14 
     | 
    
         
             
            - [ ] If relevant, did you create a test?
         
     | 
| 
       15 
15 
     | 
    
         
             
            - [ ] Did you confirm that the RSpec tests pass?
         
     | 
| 
       16 
     | 
    
         
            -
            - [ ] If you are fixing a bug or introducing a new feature, did you add a CHANGELOG entry?
         
     | 
| 
       17 
16 
     | 
    
         | 
| 
       18 
17 
     | 
    
         
             
            ### Other Information
         
     | 
| 
       19 
18 
     | 
    
         | 
| 
       20 
19 
     | 
    
         
             
            If there's anything else that's important and relevant to your pull
         
     | 
| 
       21 
20 
     | 
    
         
             
            request, mention that information here.
         
     | 
| 
       22 
21 
     | 
    
         | 
| 
       23 
     | 
    
         
            -
            If you are updating any of the CHANGELOG files or are asked to update the
         
     | 
| 
       24 
     | 
    
         
            -
            CHANGELOG files by reviewers, please add the CHANGELOG entry at the top of the file where indicated.
         
     | 
| 
       25 
     | 
    
         
            -
             
     | 
| 
       26 
22 
     | 
    
         
             
            Thanks for helping improve Capistrano!
         
     | 
    
        data/.travis.yml
    CHANGED
    
    | 
         @@ -1,9 +1,11 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            language: ruby
         
     | 
| 
       2 
2 
     | 
    
         
             
            rvm:
         
     | 
| 
       3 
     | 
    
         
            -
              -  
     | 
| 
       4 
     | 
    
         
            -
              - 2. 
     | 
| 
       5 
     | 
    
         
            -
              - 2. 
     | 
| 
       6 
     | 
    
         
            -
              - 2. 
     | 
| 
      
 3 
     | 
    
         
            +
              - 3.0
         
     | 
| 
      
 4 
     | 
    
         
            +
              - 2.7
         
     | 
| 
      
 5 
     | 
    
         
            +
              - 2.6
         
     | 
| 
      
 6 
     | 
    
         
            +
              - 2.5
         
     | 
| 
      
 7 
     | 
    
         
            +
              - 2.4
         
     | 
| 
      
 8 
     | 
    
         
            +
              - 2.3
         
     | 
| 
       7 
9 
     | 
    
         
             
              - 2.2
         
     | 
| 
       8 
10 
     | 
    
         
             
              - 2.1
         
     | 
| 
       9 
11 
     | 
    
         
             
              - 2.0
         
     | 
| 
         @@ -16,8 +18,8 @@ matrix: 
     | 
|
| 
       16 
18 
     | 
    
         
             
              include:
         
     | 
| 
       17 
19 
     | 
    
         
             
                - rvm: rbx-2
         
     | 
| 
       18 
20 
     | 
    
         
             
                  script: bundle exec rake spec
         
     | 
| 
       19 
     | 
    
         
            -
                # Run Danger only once, on 2.5 
     | 
| 
       20 
     | 
    
         
            -
                - rvm: 2.5 
     | 
| 
      
 21 
     | 
    
         
            +
                # Run Danger only once, on 2.5
         
     | 
| 
      
 22 
     | 
    
         
            +
                - rvm: 2.5
         
     | 
| 
       21 
23 
     | 
    
         
             
                  before_script: bundle exec danger
         
     | 
| 
       22 
24 
     | 
    
         | 
| 
       23 
25 
     | 
    
         
             
            script: bundle exec rake spec rubocop
         
     | 
    
        data/Gemfile
    CHANGED
    
    | 
         @@ -26,11 +26,16 @@ if Gem::Requirement.new("< 2.1").satisfied_by?(Gem::Version.new(RUBY_VERSION)) 
     | 
|
| 
       26 
26 
     | 
    
         
             
              gem "public_suffix", "< 3.0.0"
         
     | 
| 
       27 
27 
     | 
    
         
             
            end
         
     | 
| 
       28 
28 
     | 
    
         | 
| 
       29 
     | 
    
         
            -
            # Latest versions of i18n don't support Ruby < 2. 
     | 
| 
       30 
     | 
    
         
            -
            if Gem::Requirement.new("< 2. 
     | 
| 
      
 29 
     | 
    
         
            +
            # Latest versions of i18n don't support Ruby < 2.4
         
     | 
| 
      
 30 
     | 
    
         
            +
            if Gem::Requirement.new("< 2.4").satisfied_by?(Gem::Version.new(RUBY_VERSION))
         
     | 
| 
       31 
31 
     | 
    
         
             
              gem "i18n", "< 1.3.0"
         
     | 
| 
       32 
32 
     | 
    
         
             
            end
         
     | 
| 
       33 
33 
     | 
    
         | 
| 
      
 34 
     | 
    
         
            +
            # Latest versions of rake don't support Ruby < 2.2
         
     | 
| 
      
 35 
     | 
    
         
            +
            if Gem::Requirement.new("< 2.2").satisfied_by?(Gem::Version.new(RUBY_VERSION))
         
     | 
| 
      
 36 
     | 
    
         
            +
              gem "rake", "< 13.0.0"
         
     | 
| 
      
 37 
     | 
    
         
            +
            end
         
     | 
| 
      
 38 
     | 
    
         
            +
             
     | 
| 
       34 
39 
     | 
    
         
             
            # We only run danger once on a new-ish ruby; no need to install it otherwise
         
     | 
| 
       35 
40 
     | 
    
         
             
            if Gem::Requirement.new("> 2.4").satisfied_by?(Gem::Version.new(RUBY_VERSION))
         
     | 
| 
       36 
41 
     | 
    
         
             
              gem "danger"
         
     | 
    
        data/README.md
    CHANGED
    
    
| 
         @@ -5,7 +5,7 @@ Then(/^references in the remote repo are listed$/) do 
     | 
|
| 
       5 
5 
     | 
    
         
             
            end
         
     | 
| 
       6 
6 
     | 
    
         | 
| 
       7 
7 
     | 
    
         
             
            Then(/^git wrapper permissions are 0700$/) do
         
     | 
| 
       8 
     | 
    
         
            -
              permissions_test = %Q([ $(stat -c "%a" #{TestApp. 
     | 
| 
      
 8 
     | 
    
         
            +
              permissions_test = %Q([ $(stat -c "%a" #{TestApp.git_wrapper_path_glob}) == "700" ])
         
     | 
| 
       9 
9 
     | 
    
         
             
              _stdout, _stderr, status = vagrant_cli_command("ssh -c #{permissions_test.shellescape}")
         
     | 
| 
       10 
10 
     | 
    
         | 
| 
       11 
11 
     | 
    
         
             
              expect(status).to be_success
         
     | 
| 
         @@ -49,7 +49,11 @@ module Capistrano 
     | 
|
| 
       49 
49 
     | 
    
         
             
                  end
         
     | 
| 
       50 
50 
     | 
    
         | 
| 
       51 
51 
     | 
    
         
             
                  def question
         
     | 
| 
       52 
     | 
    
         
            -
                    if default.nil?
         
     | 
| 
      
 52 
     | 
    
         
            +
                    if prompt && default.nil?
         
     | 
| 
      
 53 
     | 
    
         
            +
                      I18n.t(:question_prompt, key: prompt, scope: :capistrano)
         
     | 
| 
      
 54 
     | 
    
         
            +
                    elsif prompt
         
     | 
| 
      
 55 
     | 
    
         
            +
                      I18n.t(:question_prompt_default, key: prompt, default_value: default, scope: :capistrano)
         
     | 
| 
      
 56 
     | 
    
         
            +
                    elsif default.nil?
         
     | 
| 
       53 
57 
     | 
    
         
             
                      I18n.t(:question, key: key, scope: :capistrano)
         
     | 
| 
       54 
58 
     | 
    
         
             
                    else
         
     | 
| 
       55 
59 
     | 
    
         
             
                      I18n.t(:question_default, key: key, default_value: default, scope: :capistrano)
         
     | 
| 
         @@ -63,6 +67,10 @@ module Capistrano 
     | 
|
| 
       63 
67 
     | 
    
         
             
                  def stdin
         
     | 
| 
       64 
68 
     | 
    
         
             
                    (options || {}).fetch(:stdin, $stdin)
         
     | 
| 
       65 
69 
     | 
    
         
             
                  end
         
     | 
| 
      
 70 
     | 
    
         
            +
             
     | 
| 
      
 71 
     | 
    
         
            +
                  def prompt
         
     | 
| 
      
 72 
     | 
    
         
            +
                    (options || {}).fetch(:prompt, nil)
         
     | 
| 
      
 73 
     | 
    
         
            +
                  end
         
     | 
| 
       66 
74 
     | 
    
         
             
                end
         
     | 
| 
       67 
75 
     | 
    
         
             
              end
         
     | 
| 
       68 
76 
     | 
    
         
             
            end
         
     | 
    
        data/lib/capistrano/dsl.rb
    CHANGED
    
    
    
        data/lib/capistrano/i18n.rb
    CHANGED
    
    | 
         @@ -12,6 +12,8 @@ en = { 
     | 
|
| 
       12 
12 
     | 
    
         
             
              written_file: "create %{file}",
         
     | 
| 
       13 
13 
     | 
    
         
             
              question: "Please enter %{key}: ",
         
     | 
| 
       14 
14 
     | 
    
         
             
              question_default: "Please enter %{key} (%{default_value}): ",
         
     | 
| 
      
 15 
     | 
    
         
            +
              question_prompt: "%{key}: ",
         
     | 
| 
      
 16 
     | 
    
         
            +
              question_prompt_default: "%{key} (%{default_value}): ",
         
     | 
| 
       15 
17 
     | 
    
         
             
              keeping_releases: "Keeping %{keep_releases} of %{releases} deployed releases on %{host}",
         
     | 
| 
       16 
18 
     | 
    
         
             
              skip_cleanup: "Skipping cleanup of invalid releases on %{host}; unexpected foldername found (should be timestamp)",
         
     | 
| 
       17 
19 
     | 
    
         
             
              wont_delete_current_release: "Current release was marked for being removed but it's going to be skipped on %{host}",
         
     | 
    
        data/lib/capistrano/scm/git.rb
    CHANGED
    
    | 
         @@ -1,5 +1,6 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            require "capistrano/scm/plugin"
         
     | 
| 
       2 
2 
     | 
    
         
             
            require "cgi"
         
     | 
| 
      
 3 
     | 
    
         
            +
            require "securerandom"
         
     | 
| 
       3 
4 
     | 
    
         
             
            require "shellwords"
         
     | 
| 
       4 
5 
     | 
    
         
             
            require "uri"
         
     | 
| 
       5 
6 
     | 
    
         | 
| 
         @@ -7,10 +8,9 @@ class Capistrano::SCM::Git < Capistrano::SCM::Plugin 
     | 
|
| 
       7 
8 
     | 
    
         
             
              def set_defaults
         
     | 
| 
       8 
9 
     | 
    
         
             
                set_if_empty :git_shallow_clone, false
         
     | 
| 
       9 
10 
     | 
    
         
             
                set_if_empty :git_wrapper_path, lambda {
         
     | 
| 
       10 
     | 
    
         
            -
                  #  
     | 
| 
       11 
     | 
    
         
            -
                  #  
     | 
| 
       12 
     | 
    
         
            -
                   
     | 
| 
       13 
     | 
    
         
            -
                  "#{fetch(:tmp_dir)}/git-ssh-#{suffix}.sh"
         
     | 
| 
      
 11 
     | 
    
         
            +
                  # Use a unique name that won't collide with other deployments, and
         
     | 
| 
      
 12 
     | 
    
         
            +
                  # that cannot be guessed by other processes that have access to /tmp.
         
     | 
| 
      
 13 
     | 
    
         
            +
                  "#{fetch(:tmp_dir)}/git-ssh-#{SecureRandom.hex(10)}.sh"
         
     | 
| 
       14 
14 
     | 
    
         
             
                }
         
     | 
| 
       15 
15 
     | 
    
         
             
                set_if_empty :git_environmental_variables, lambda {
         
     | 
| 
       16 
16 
     | 
    
         
             
                  {
         
     | 
| 
         @@ -19,7 +19,7 @@ class Capistrano::SCM::Git < Capistrano::SCM::Plugin 
     | 
|
| 
       19 
19 
     | 
    
         
             
                  }
         
     | 
| 
       20 
20 
     | 
    
         
             
                }
         
     | 
| 
       21 
21 
     | 
    
         
             
                set_if_empty :git_max_concurrent_connections, 10
         
     | 
| 
       22 
     | 
    
         
            -
                set_if_empty :git_wait_interval,  
     | 
| 
      
 22 
     | 
    
         
            +
                set_if_empty :git_wait_interval, 0
         
     | 
| 
       23 
23 
     | 
    
         
             
              end
         
     | 
| 
       24 
24 
     | 
    
         | 
| 
       25 
25 
     | 
    
         
             
              def register_hooks
         
     | 
| 
         @@ -6,7 +6,7 @@ namespace :git do 
     | 
|
| 
       6 
6 
     | 
    
         
             
              task :wrapper do
         
     | 
| 
       7 
7 
     | 
    
         
             
                on release_roles(:all), in: :groups, limit: fetch(:git_max_concurrent_connections), wait: fetch(:git_wait_interval) do
         
     | 
| 
       8 
8 
     | 
    
         
             
                  execute :mkdir, "-p", File.dirname(fetch(:git_wrapper_path)).shellescape
         
     | 
| 
       9 
     | 
    
         
            -
                  upload! StringIO.new("#!/bin/sh -e\nexec /usr/bin/ssh -o PasswordAuthentication=no -o StrictHostKeyChecking=no \"$@\"\n"), fetch(:git_wrapper_path)
         
     | 
| 
      
 9 
     | 
    
         
            +
                  upload! StringIO.new("#!/bin/sh -e\nexec /usr/bin/env ssh -o PasswordAuthentication=no -o StrictHostKeyChecking=no \"$@\"\n"), fetch(:git_wrapper_path)
         
     | 
| 
       10 
10 
     | 
    
         
             
                  execute :chmod, "700", fetch(:git_wrapper_path).shellescape
         
     | 
| 
       11 
11 
     | 
    
         
             
                end
         
     | 
| 
       12 
12 
     | 
    
         
             
              end
         
     | 
    
        data/lib/capistrano/version.rb
    CHANGED
    
    
| 
         @@ -6,6 +6,8 @@ module Capistrano 
     | 
|
| 
       6 
6 
     | 
    
         
             
                  let(:question) { Question.new(key, default, stdin: stdin) }
         
     | 
| 
       7 
7 
     | 
    
         
             
                  let(:question_without_echo) { Question.new(key, default, echo: false, stdin: stdin) }
         
     | 
| 
       8 
8 
     | 
    
         
             
                  let(:question_without_default) { Question.new(key, nil, stdin: stdin) }
         
     | 
| 
      
 9 
     | 
    
         
            +
                  let(:question_prompt) { Question.new(key, default, stdin: stdin, prompt: "Your favorite branch") }
         
     | 
| 
      
 10 
     | 
    
         
            +
                  let(:question_prompt_without_default) { Question.new(key, nil, stdin: stdin, prompt: "Your favorite branch") }
         
     | 
| 
       9 
11 
     | 
    
         
             
                  let(:default) { :default }
         
     | 
| 
       10 
12 
     | 
    
         
             
                  let(:key) { :branch }
         
     | 
| 
       11 
13 
     | 
    
         
             
                  let(:stdin) { stub(tty?: true) }
         
     | 
| 
         @@ -43,6 +45,22 @@ module Capistrano 
     | 
|
| 
       43 
45 
     | 
    
         | 
| 
       44 
46 
     | 
    
         
             
                        expect(question_without_default.call).to eq(branch)
         
     | 
| 
       45 
47 
     | 
    
         
             
                      end
         
     | 
| 
      
 48 
     | 
    
         
            +
             
     | 
| 
      
 49 
     | 
    
         
            +
                      it "uses prompt and returns the value" do
         
     | 
| 
      
 50 
     | 
    
         
            +
                        $stdout.expects(:print).with("Your favorite branch (default): ")
         
     | 
| 
      
 51 
     | 
    
         
            +
                        stdin.expects(:gets).returns(branch)
         
     | 
| 
      
 52 
     | 
    
         
            +
                        stdin.expects(:noecho).never
         
     | 
| 
      
 53 
     | 
    
         
            +
             
     | 
| 
      
 54 
     | 
    
         
            +
                        expect(question_prompt.call).to eq(branch)
         
     | 
| 
      
 55 
     | 
    
         
            +
                      end
         
     | 
| 
      
 56 
     | 
    
         
            +
             
     | 
| 
      
 57 
     | 
    
         
            +
                      it "uses prompt and returns the value but has no default between parenthesis" do
         
     | 
| 
      
 58 
     | 
    
         
            +
                        $stdout.expects(:print).with("Your favorite branch: ")
         
     | 
| 
      
 59 
     | 
    
         
            +
                        stdin.expects(:gets).returns(branch)
         
     | 
| 
      
 60 
     | 
    
         
            +
                        stdin.expects(:noecho).never
         
     | 
| 
      
 61 
     | 
    
         
            +
             
     | 
| 
      
 62 
     | 
    
         
            +
                        expect(question_prompt_without_default.call).to eq(branch)
         
     | 
| 
      
 63 
     | 
    
         
            +
                      end
         
     | 
| 
       46 
64 
     | 
    
         
             
                    end
         
     | 
| 
       47 
65 
     | 
    
         | 
| 
       48 
66 
     | 
    
         
             
                    context "value is not entered" do
         
     | 
| 
         @@ -28,13 +28,10 @@ module Capistrano 
     | 
|
| 
       28 
28 
     | 
    
         
             
                end
         
     | 
| 
       29 
29 
     | 
    
         | 
| 
       30 
30 
     | 
    
         
             
                describe "#set_defaults" do
         
     | 
| 
       31 
     | 
    
         
            -
                  it "makes git_wrapper_path using  
     | 
| 
      
 31 
     | 
    
         
            +
                  it "makes git_wrapper_path using a random hex value" do
         
     | 
| 
       32 
32 
     | 
    
         
             
                    env.set(:tmp_dir, "/tmp")
         
     | 
| 
       33 
     | 
    
         
            -
                    env.set(:application, "my_app")
         
     | 
| 
       34 
     | 
    
         
            -
                    env.set(:stage, "staging")
         
     | 
| 
       35 
     | 
    
         
            -
                    env.set(:local_user, "(Git Web User) via ShipIt")
         
     | 
| 
       36 
33 
     | 
    
         
             
                    subject.set_defaults
         
     | 
| 
       37 
     | 
    
         
            -
                    expect(env.fetch(:git_wrapper_path)).to  
     | 
| 
      
 34 
     | 
    
         
            +
                    expect(env.fetch(:git_wrapper_path)).to match(%r{/tmp/git-ssh-\h{20}\.sh})
         
     | 
| 
       38 
35 
     | 
    
         
             
                  end
         
     | 
| 
       39 
36 
     | 
    
         | 
| 
       40 
37 
     | 
    
         
             
                  it "makes git_max_concurrent_connections" do
         
     | 
| 
         @@ -46,7 +43,7 @@ module Capistrano 
     | 
|
| 
       46 
43 
     | 
    
         | 
| 
       47 
44 
     | 
    
         
             
                  it "makes git_wait_interval" do
         
     | 
| 
       48 
45 
     | 
    
         
             
                    subject.set_defaults
         
     | 
| 
       49 
     | 
    
         
            -
                    expect(env.fetch(:git_wait_interval)).to eq( 
     | 
| 
      
 46 
     | 
    
         
            +
                    expect(env.fetch(:git_wait_interval)).to eq(0)
         
     | 
| 
       50 
47 
     | 
    
         
             
                    env.set(:git_wait_interval, 5)
         
     | 
| 
       51 
48 
     | 
    
         
             
                    expect(env.fetch(:git_wait_interval)).to eq(5)
         
     | 
| 
       52 
49 
     | 
    
         
             
                  end
         
     | 
    
        data/spec/support/test_app.rb
    CHANGED
    
    | 
         @@ -185,12 +185,17 @@ module TestApp 
     | 
|
| 
       185 
185 
     | 
    
         
             
                FileUtils.mv(config_path, location)
         
     | 
| 
       186 
186 
     | 
    
         
             
              end
         
     | 
| 
       187 
187 
     | 
    
         | 
| 
       188 
     | 
    
         
            -
              def  
     | 
| 
       189 
     | 
    
         
            -
                "/tmp/git-ssh 
     | 
| 
      
 188 
     | 
    
         
            +
              def git_wrapper_path_glob
         
     | 
| 
      
 189 
     | 
    
         
            +
                "/tmp/git-ssh-*.sh"
         
     | 
| 
       190 
190 
     | 
    
         
             
              end
         
     | 
| 
       191 
191 
     | 
    
         | 
| 
       192 
192 
     | 
    
         
             
              def with_clean_bundler_env(&block)
         
     | 
| 
       193 
193 
     | 
    
         
             
                return yield unless defined?(Bundler)
         
     | 
| 
       194 
     | 
    
         
            -
             
     | 
| 
      
 194 
     | 
    
         
            +
             
     | 
| 
      
 195 
     | 
    
         
            +
                if Bundler.respond_to?(:with_unbundled_env)
         
     | 
| 
      
 196 
     | 
    
         
            +
                  Bundler.with_unbundled_env(&block)
         
     | 
| 
      
 197 
     | 
    
         
            +
                else
         
     | 
| 
      
 198 
     | 
    
         
            +
                  Bundler.with_clean_env(&block)
         
     | 
| 
      
 199 
     | 
    
         
            +
                end
         
     | 
| 
       195 
200 
     | 
    
         
             
              end
         
     | 
| 
       196 
201 
     | 
    
         
             
            end
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,15 +1,15 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: capistrano
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 3. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 3.15.0
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Tom Clements
         
     | 
| 
       8 
8 
     | 
    
         
             
            - Lee Hambley
         
     | 
| 
       9 
     | 
    
         
            -
            autorequire: 
     | 
| 
      
 9 
     | 
    
         
            +
            autorequire:
         
     | 
| 
       10 
10 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       11 
11 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       12 
     | 
    
         
            -
            date:  
     | 
| 
      
 12 
     | 
    
         
            +
            date: 2021-01-05 00:00:00.000000000 Z
         
     | 
| 
       13 
13 
     | 
    
         
             
            dependencies:
         
     | 
| 
       14 
14 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       15 
15 
     | 
    
         
             
              name: airbrussh
         
     | 
| 
         @@ -262,7 +262,7 @@ metadata: 
     | 
|
| 
       262 
262 
     | 
    
         
             
              source_code_uri: https://github.com/capistrano/capistrano
         
     | 
| 
       263 
263 
     | 
    
         
             
              homepage_uri: https://capistranorb.com/
         
     | 
| 
       264 
264 
     | 
    
         
             
              documentation_uri: https://capistranorb.com/
         
     | 
| 
       265 
     | 
    
         
            -
            post_install_message: 
     | 
| 
      
 265 
     | 
    
         
            +
            post_install_message:
         
     | 
| 
       266 
266 
     | 
    
         
             
            rdoc_options: []
         
     | 
| 
       267 
267 
     | 
    
         
             
            require_paths:
         
     | 
| 
       268 
268 
     | 
    
         
             
            - lib
         
     | 
| 
         @@ -277,8 +277,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement 
     | 
|
| 
       277 
277 
     | 
    
         
             
                - !ruby/object:Gem::Version
         
     | 
| 
       278 
278 
     | 
    
         
             
                  version: '0'
         
     | 
| 
       279 
279 
     | 
    
         
             
            requirements: []
         
     | 
| 
       280 
     | 
    
         
            -
            rubygems_version: 3. 
     | 
| 
       281 
     | 
    
         
            -
            signing_key: 
     | 
| 
      
 280 
     | 
    
         
            +
            rubygems_version: 3.2.4
         
     | 
| 
      
 281 
     | 
    
         
            +
            signing_key:
         
     | 
| 
       282 
282 
     | 
    
         
             
            specification_version: 4
         
     | 
| 
       283 
283 
     | 
    
         
             
            summary: Capistrano - Welcome to easy deployment with Ruby over SSH
         
     | 
| 
       284 
284 
     | 
    
         
             
            test_files:
         
     |