lib/modulesync.rb in modulesync-0.2.0 vs lib/modulesync.rb in modulesync-0.3.0
- old
+ new
@@ -51,18 +51,21 @@
local_files = self.local_files(path)
module_files = self.module_files(local_files, path)
managed_modules = self.managed_modules("#{options[:configs]}/managed_modules.yml", options[:filter])
- managed_modules.each do |puppet_module|
+ # managed_modules is either an array or a hash
+ managed_modules.each do |puppet_module, opts|
puts "Syncing #{puppet_module}"
- Git.pull(options[:git_user], options[:git_provider_address], options[:namespace], puppet_module)
+ git_base = "#{options[:git_base]}#{options[:namespace]}"
+ Git.pull(git_base, puppet_module, options[:branch], opts || {})
module_configs = Util.parse_config("#{PROJ_ROOT}/#{puppet_module}/#{MODULE_CONF_FILE}")
files_to_manage = module_files | defaults.keys | module_configs.keys
files_to_delete = []
files_to_manage.each do |file|
file_configs = (defaults[file] || {}).merge(module_configs[file] || {})
+ file_configs[:puppet_module] = puppet_module
if file_configs['unmanaged']
puts "Not managing #{file} in #{puppet_module}"
files_to_delete << file
elsif file_configs['delete']
Renderer.remove(module_file(puppet_module, file))
@@ -72,12 +75,12 @@
Renderer.sync(template, "#{PROJ_ROOT}/#{puppet_module}/#{file}")
end
end
files_to_manage -= files_to_delete
if options[:noop]
- Git.update_noop(puppet_module, options[:branch])
+ Git.update_noop(puppet_module, options)
else
- Git.update(puppet_module, files_to_manage, options[:message], options[:branch])
+ Git.update(puppet_module, files_to_manage, options)
end
end
elsif options[:command] == 'hook'
Hook.hook(args[1], options)
end