<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -35,13 +35,14 @@ module Capistrano
       #   servers = find_servers :hosts =&gt; &quot;jamis@example.host.com&quot;
       def find_servers(options={})
         hosts  = server_list_from(ENV['HOSTS'] || options[:hosts])
-        roles  = role_list_from(ENV['ROLES'] || options[:roles] || self.roles.keys)
-        only   = options[:only] || {}
-        except = options[:except] || {}
-
+        
         if hosts.any?
           hosts.uniq
         else
+          roles  = role_list_from(ENV['ROLES'] || options[:roles] || self.roles.keys)
+          only   = options[:only] || {}
+          except = options[:except] || {}
+          
           servers = roles.inject([]) { |list, role| list.concat(self.roles[role]) }
           servers = servers.select { |server| only.all? { |key,value| server.options[key] == value } }
           servers = servers.reject { |server| except.any? { |key,value| server.options[key] == value } }</diff>
      <filename>lib/capistrano/configuration/servers.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>bd3819766178e18e9287b95586098d2bc804f6df</id>
    </parent>
  </parents>
  <author>
    <name>Mike Bailey</name>
    <email>mike@bailey.net.au</email>
  </author>
  <url>http://github.com/jamis/capistrano/commit/8badb0c522b38fae9cbe973451472afbddef61cb</url>
  <id>8badb0c522b38fae9cbe973451472afbddef61cb</id>
  <committed-date>2008-08-23T09:05:59-07:00</committed-date>
  <authored-date>2008-08-23T09:05:59-07:00</authored-date>
  <message>Don't evaluate role list if hosts are defined.

This prevents Capistrano failing when a task has undefined
roles specified but hosts have been given.

e.g.

task :install_mysql, :roles =&gt; :db do
  # install mysql...
end

cap install_mysql HOSTS=some.new.host</message>
  <tree>2c41525433a6470fb53b7cb2db7c87ba276d32ab</tree>
  <committer>
    <name>Mike Bailey</name>
    <email>mike@bailey.net.au</email>
  </committer>
</commit>
