Merge pull request #8385 from chrisroberts/encoding/windows
Fix issues with Windows encoding
This commit is contained in:
commit
7b8ab871dc
|
@ -40,7 +40,15 @@ module Vagrant
|
||||||
Process.wait(pid)
|
Process.wait(pid)
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
Kernel.exec(command, *args)
|
if Vagrant::Util::Platform.windows?
|
||||||
|
@@logger.debug("Converting command and arguments to single string for exec")
|
||||||
|
@@logger.debug("Command: `#{command.inspect}` Args: `#{args.inspect}`")
|
||||||
|
full_command = "#{command} #{args.join(" ")}"
|
||||||
|
@@logger.debug("Converted command: #{full_command}")
|
||||||
|
Kernel.exec(full_command)
|
||||||
|
else
|
||||||
|
Kernel.exec(command, *args)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
rescue *rescue_from
|
rescue *rescue_from
|
||||||
# We retried already, raise the issue and be done
|
# We retried already, raise the issue and be done
|
||||||
|
|
|
@ -25,7 +25,6 @@ module Vagrant
|
||||||
def initialize(*command)
|
def initialize(*command)
|
||||||
@options = command.last.is_a?(Hash) ? command.pop : {}
|
@options = command.last.is_a?(Hash) ? command.pop : {}
|
||||||
@command = command.dup
|
@command = command.dup
|
||||||
@command = @command.map { |s| s.encode(Encoding.default_external) }
|
|
||||||
@command[0] = Which.which(@command[0]) if !File.file?(@command[0])
|
@command[0] = Which.which(@command[0]) if !File.file?(@command[0])
|
||||||
if !@command[0]
|
if !@command[0]
|
||||||
raise Errors::CommandUnavailableWindows, file: command[0] if Platform.windows?
|
raise Errors::CommandUnavailableWindows, file: command[0] if Platform.windows?
|
||||||
|
|
Loading…
Reference in New Issue