in lib/taste_tester/client.rb [75:128]
def upload
head_rev = nil
if @repo
head_rev = @repo.head_rev
checks unless @skip_checks
logger.info("Last commit: #{head_rev} " +
"'#{@repo.last_msg.split("\n").first}'" +
" by #{@repo.last_author[:email]}")
end
if @force || !@server.latest_uploaded_ref || !@repo
logger.info('Full upload forced') if @force
logger.info('No repo, doing full upload') unless @repo
unless TasteTester::Config.skip_pre_upload_hook
TasteTester::Hooks.pre_upload(TasteTester::Config.dryrun,
@repo,
nil,
head_rev)
end
time(logger) { full }
unless TasteTester::Config.skip_post_upload_hook
TasteTester::Hooks.post_upload(TasteTester::Config.dryrun,
@repo,
nil,
head_rev)
end
else
unless TasteTester::Config.skip_pre_upload_hook
TasteTester::Hooks.pre_upload(TasteTester::Config.dryrun,
@repo,
@server.latest_uploaded_ref,
head_rev)
end
begin
time(logger) { partial }
rescue BetweenMeals::Changeset::ReferenceError
logger.warn('Something changed with your repo, doing full upload')
time(logger) { full }
end
unless TasteTester::Config.skip_post_upload_hook
TasteTester::Hooks.post_upload(TasteTester::Config.dryrun,
@repo,
@server.latest_uploaded_ref,
head_rev)
end
end
@server.latest_uploaded_ref = head_rev
@server.last_upload_time = Time.new.strftime('%Y-%m-%d %H:%M:%S')
end