def by_hash_ids(*args)
      cmd_options = args.last.kind_of?(Hash) ? args.last : {}
      
      if args.size == 1 && args.first.kind_of?(Array)
        array = args.first
      else
        array = args
      end      
      return [] if array.empty?

      args = array.map{|hash| " -r#{ hash }"}
      hg_to_array ["log#{ args.join('') } --style ?", style], {:separator => changeset_separator}, cmd_options do |line|
        build(line)
      end
    end
def by_hash_ids(*args)
      cmd_options = args.last.kind_of?(Hash) ? args.last : {}
      
      if args.size == 1 && args.first.kind_of?(Array)
        array = args.first
      else
        array = args
      end      
      return [] if array.empty?

      args = array.map{|hash| " -r#{ hash }"}
      hg_to_array ["log#{ args.join('') } --style ?", style], {:separator => changeset_separator}, cmd_options do |line|
        build(line)
      end
    end
Return an array of {Mercurial::Commit Commit} instances for changesets with specified ids.

 === Example:
  repository.commits.by_hash_ids('291a498f04e9', '63f70b2314ed')