in lib/taste_tester/client.rb [231:304]
def partial
if TasteTester::Config.bundle
logger.info('No partial support for bundle mode, doing full upload')
bundle_upload
return if TasteTester::Config.bundle == true
end
logger.info('Doing differential upload from ' +
@server.latest_uploaded_ref)
changeset = BetweenMeals::Changeset.new(
logger,
@repo,
@server.latest_uploaded_ref,
nil,
{
:cookbook_dirs =>
TasteTester::Config.relative_cookbook_dirs,
:role_dir =>
TasteTester::Config.relative_role_dir,
:databag_dir =>
TasteTester::Config.relative_databag_dir,
},
@track_symlinks,
)
cbs = changeset.cookbooks
deleted_cookbooks = cbs.select { |x| x.status == :deleted }
modified_cookbooks = cbs.select { |x| x.status == :modified }
roles = changeset.roles
deleted_roles = roles.select { |x| x.status == :deleted }
modified_roles = roles.select { |x| x.status == :modified }
databags = changeset.databags
deleted_databags = databags.select { |x| x.status == :deleted }
modified_databags = databags.select { |x| x.status == :modified }
didsomething = false
unless deleted_cookbooks.empty?
didsomething = true
logger.warn("Deleting cookbooks: [#{deleted_cookbooks.join(' ')}]")
@knife.cookbook_delete(deleted_cookbooks)
end
unless modified_cookbooks.empty?
didsomething = true
logger.warn("Uploading cookbooks: [#{modified_cookbooks.join(' ')}]")
@knife.cookbook_upload(modified_cookbooks)
end
unless deleted_roles.empty?
didsomething = true
logger.warn("Deleting roles: [#{deleted_roles.join(' ')}]")
@knife.role_delete(deleted_roles)
end
unless modified_roles.empty?
didsomething = true
logger.warn("Uploading roles: [#{modified_roles.join(' ')}]")
@knife.role_upload(modified_roles)
end
unless deleted_databags.empty?
didsomething = true
logger.warn("Deleting databags: [#{deleted_databags.join(' ')}]")
@knife.databag_delete(deleted_databags)
end
unless modified_databags.empty?
didsomething = true
logger.warn("Uploading databags: [#{modified_databags.join(' ')}]")
@knife.databag_upload(modified_databags)
end
logger.warn('Nothing to upload!') unless didsomething
end