Merge pull request #8724 from chrisroberts/fix/windows-cwd-check

Set encoding when reading/writing cwd file
This commit is contained in:
Chris Roberts 2017-06-27 19:21:16 -07:00 committed by GitHub
commit d1a589c59f
2 changed files with 17 additions and 12 deletions

View File

@ -571,19 +571,24 @@ module Vagrant
# from its previous location on disk. If the machine
# has moved, it prints a warning to the user.
def check_cwd
desired_encoding = @env.root_path.to_s.encoding
vagrant_cwd_filepath = @data_dir.join('vagrant_cwd')
vagrant_cwd = if File.exist?(vagrant_cwd_filepath)
File.read(vagrant_cwd_filepath).chomp
end
File.read(vagrant_cwd_filepath,
external_encoding: desired_encoding
).chomp
end
if vagrant_cwd.nil?
File.write(vagrant_cwd_filepath, @env.root_path)
elsif vagrant_cwd != @env.root_path.to_s
ui.warn(I18n.t(
'vagrant.moved_cwd',
old_wd: vagrant_cwd,
current_wd: @env.root_path.to_s))
File.write(vagrant_cwd_filepath, @env.root_path)
if vagrant_cwd != @env.root_path.to_s
if vagrant_cwd
ui.warn(I18n.t(
'vagrant.moved_cwd',
old_wd: "#{vagrant_cwd}",
current_wd: "#{@env.root_path.to_s}"))
end
File.write(vagrant_cwd_filepath, @env.root_path.to_s,
external_encoding: desired_encoding
)
end
end
end

View File

@ -167,8 +167,8 @@ en:
%{list}
moved_cwd: |-
This machine used to live in %{old_wd} but it's now at %{current_wd}.
Please change the name of the machine if you want to run it as a different
machine.
Depending on your current provider you may need to change the name of
the machine to run it as a different machine.
guest_deb_installing_smb: |-
Installing SMB "mount.cifs"...
global_status_footer: |-