Compare commits

...

5 Commits

Author SHA1 Message Date
Kienan Stewart 23c8ede5fe
Merge remote-tracking branch 'upstream/master' into upstream 2018-12-02 14:12:53 -05:00
Seth Reeser 2b75b7f00f
Update README.md 2018-05-18 10:34:59 -04:00
Seth Reeser 93b672d829 Releasing v1.8.9 2018-05-18 10:23:04 -04:00
Seth Reeser 7281daec1b
Merge pull request #264 from jalandis/feature/fix-duplication-of-windows-records
Prevents duplicate host file records in Windows
2018-05-18 10:21:49 -04:00
John Landis 7e434ecbb4
Move newlines out of quoted header and footer. Match carriage return along with newline in hosts file pattern. 2018-05-17 16:35:39 -04:00
3 changed files with 8 additions and 5 deletions

View File

@ -8,6 +8,9 @@ Vagrant Host Manager
`vagrant-hostmanager` is a Vagrant plugin that manages the `hosts` file on guest machines (and optionally the host). Its goal is to enable resolution of multi-machine environments deployed with a cloud provider where IP addresses are not known in advance. `vagrant-hostmanager` is a Vagrant plugin that manages the `hosts` file on guest machines (and optionally the host). Its goal is to enable resolution of multi-machine environments deployed with a cloud provider where IP addresses are not known in advance.
Do you like what we do? Consider supporting us through Patreon. All of the money goes directly back into growing our collection of open source and free software.
[![Patreon](https://img.shields.io/badge/patreon-donate-red.svg)](https://www.patreon.com/devopsgroup)
Installation Installation
------------ ------------

View File

@ -88,8 +88,8 @@ module VagrantPlugins
def update_content(file_content, resolving_machine, include_id, line_endings) def update_content(file_content, resolving_machine, include_id, line_endings)
id = include_id ? " id: #{read_or_create_id}" : "" id = include_id ? " id: #{read_or_create_id}" : ""
header = "## vagrant-hostmanager-start#{id}\n" header = "## vagrant-hostmanager-start#{id}"
footer = "## vagrant-hostmanager-end\n" footer = "## vagrant-hostmanager-end"
body = get_machines body = get_machines
.map { |machine| get_hosts_file_entry(machine, resolving_machine) } .map { |machine| get_hosts_file_entry(machine, resolving_machine) }
.join .join
@ -146,12 +146,12 @@ module VagrantPlugins
if body.empty? if body.empty?
block = "\n" block = "\n"
else else
block = "\n\n" + header + body + footer + "\n" block = "\n\n" + header + "\n" + body + footer + "\n\n"
end end
# Pattern for finding existing block # Pattern for finding existing block
header_pattern = Regexp.quote(header) header_pattern = Regexp.quote(header)
footer_pattern = Regexp.quote(footer) footer_pattern = Regexp.quote(footer)
pattern = Regexp.new("\n*#{header_pattern}.*?#{footer_pattern}\n*", Regexp::MULTILINE) pattern = Regexp.new("[\r\n]*#{header_pattern}.*?#{footer_pattern}[\r\n]*", Regexp::MULTILINE)
# Replace existing block or append # Replace existing block or append
content = old_content.match(pattern) ? old_content.sub(pattern, block) : old_content.rstrip + block content = old_content.match(pattern) ? old_content.sub(pattern, block) : old_content.rstrip + block
if line_endings == "crlf" if line_endings == "crlf"

View File

@ -1,5 +1,5 @@
module VagrantPlugins module VagrantPlugins
module HostManager module HostManager
VERSION = '1.8.8' VERSION = '1.8.9'
end end
end end