vagrant-scp-sync 0.5.26 → 0.5.27

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 61f1926cb1f70c6621ac3b31fbf2edbd46589ee4a8c29242c8db7f0908a17496
4
- data.tar.gz: d13e86d331ee8963264d3515f43affcc0421dffed7459f8bb12585af82ecd156
3
+ metadata.gz: b57515d717378b1daf432022a6c9b288503e116b08645bb0ddaa89a14719c295
4
+ data.tar.gz: 5c26d7d94fd7dbafc95efe661617d27c7b4ddbf345b537af7c20a4ef354a2d7c
5
5
  SHA512:
6
- metadata.gz: 5b5045fb6e101431eaa8fd3a2f6e129aad58721a96f326aa939c83663c8effb618d7021d664975782169d16c53a5428eb235d6fd08e0ee94df29cb8c53752a14
7
- data.tar.gz: 670d25bf4857c3dcc0e2daab2051794ab2b3835b588be8f3cc2232621c37d0142135ef7d770abbeee425125f68389bf24f8d8cdd08f92a8c9a7a414b4550057c
6
+ metadata.gz: 90334be946bf82fea5f69fa97f3070e75dec9ee07baa8829d86b995c32bc0138077a956fe065cd69dbac04a3b2f94b3cb565d5f327b0b3709a9ea23082168b2c
7
+ data.tar.gz: 19d2079b97289af6d5366367d58b299fd10a9263603f89e167e34b32652e1cabe58c8c8687c5b5a689f60a5e87697cae56fe662aa90d7f3081fc6a18adf652a8
data/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.5.27](https://github.com/STARTcloud/vagrant-scp-sync/compare/v0.5.26...v0.5.27) (2025-01-15)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * FIle paths with quotes break things, this is an attempt to workaround/fix that - making rubocop happy ([525d3f3](https://github.com/STARTcloud/vagrant-scp-sync/commit/525d3f396c503e79d2a0fc700b6e24de55379321))
9
+
3
10
  ## [0.5.26](https://github.com/STARTcloud/vagrant-scp-sync/compare/v0.5.25...v0.5.26) (2025-01-15)
4
11
 
5
12
 
@@ -20,7 +20,7 @@ module VagrantPlugins
20
20
 
21
21
  # This will SCP the files
22
22
  class ScpSyncHelper
23
- def self.scp_single(machine, opts)
23
+ def self.scp_single(machine, opts, scp_path)
24
24
  ssh_info = machine.ssh_info
25
25
  raise Vagrant::Errors::SSHNotReady if ssh_info.nil?
26
26
 
@@ -97,7 +97,7 @@ module VagrantPlugins
97
97
  end
98
98
 
99
99
  # Build and execute the scp command with sync message
100
- synchronize = build_scp_command(ssh_opts, source, target)
100
+ synchronize = build_scp_command(scp_path, ssh_opts, source, target)
101
101
  execute_command(machine, synchronize, true, 'scp_sync_folder', opts)
102
102
  end
103
103
 
@@ -114,9 +114,8 @@ module VagrantPlugins
114
114
  ['ssh', *ssh_opts, "#{ssh_info[:username]}@#{ssh_info[:host]}", "'#{command}'"].join(' ')
115
115
  end
116
116
 
117
- def self.build_scp_command(ssh_opts, source, target)
118
- # Just use 'scp' and let the shell find it, like we do with ssh
119
- ['scp', '-r', *ssh_opts, source, target].join(' ')
117
+ def self.build_scp_command(scp_path, ssh_opts, source, target)
118
+ [scp_path, '-r', *ssh_opts, source, target].join(' ')
120
119
  end
121
120
 
122
121
  def self.execute_command(machine, command, raise_error, message_key, opts)
@@ -2,6 +2,7 @@
2
2
 
3
3
  require 'pathname'
4
4
  require 'vagrant/util/subprocess'
5
+ require 'vagrant/util/which'
5
6
 
6
7
  module VagrantPlugins
7
8
  module ScpSync
@@ -21,14 +22,16 @@ module VagrantPlugins
21
22
  if @source.nil? && @target.nil?
22
23
  folders = machine.config.vm.synced_folders
23
24
  ssh_info = machine.ssh_info
25
+ scp_path = Vagrant::Util::Which.which('scp')
24
26
  machine.ui.warn(I18n.t('vagrant.scp_ssh_password')) if ssh_info[:private_key_path].empty? && ssh_info[:password]
25
27
  folders.each_value do |folder_opts|
26
28
  next unless folder_opts[:type] == :scp
27
29
 
28
- VagrantPlugins::ScpSync::ScpSyncHelper.scp_single(machine, folder_opts)
30
+ VagrantPlugins::ScpSync::ScpSyncHelper.scp_single(machine, folder_opts, scp_path)
29
31
  end
30
32
  else
31
33
  ssh_info = machine.ssh_info
34
+ scp_path = Vagrant::Util::Which.which('scp')
32
35
  direction = net_ssh_command(@source)
33
36
  source = format_file_path(machine, @source)
34
37
  target = format_file_path(machine, @target)
@@ -46,7 +49,7 @@ module VagrantPlugins
46
49
  hostpath: source
47
50
  }
48
51
 
49
- VagrantPlugins::ScpSync::ScpSyncHelper.scp_single(machine, folder_opts)
52
+ VagrantPlugins::ScpSync::ScpSyncHelper.scp_single(machine, folder_opts, scp_path)
50
53
  end
51
54
  end
52
55
  end
@@ -31,13 +31,12 @@ module VagrantPlugins
31
31
 
32
32
  def enable(machine, folders, _opts)
33
33
  ssh_info = machine.ssh_info
34
- # Still check if scp exists, but don't pass the path
35
- return false unless Which.which('scp')
34
+ scp_path = Which.which('scp')
36
35
 
37
36
  machine.ui.warn(I18n.t('vagrant.scp_ssh_password')) if ssh_info[:private_key_path].empty? && ssh_info[:password]
38
37
 
39
38
  folders.each_value do |folder_opts|
40
- ScpSyncHelper.scp_single(machine, folder_opts)
39
+ ScpSyncHelper.scp_single(machine, folder_opts, scp_path)
41
40
  end
42
41
  end
43
42
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Vagrant
4
4
  module ScpSync
5
- VERSION = '0.5.26'
5
+ VERSION = '0.5.27'
6
6
  NAME = 'vagrant-scp-sync'
7
7
  end
8
8
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vagrant-scp-sync
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.26
4
+ version: 0.5.27
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mark Gilbert